簡體   English   中英

具有匿名功能的Linspace每秒跳過一次值

[英]Linspace with anonymous function skipping every second value

我有一個非常簡單的問題,但無法完成。

我想在一個匿名函數的兩個值之間產生一個linspaced序列。 如果我用價值觀做到這一點,那就沒有問題,看起來像這樣

n = 5;
left = 1;
right = 3;

y = zeros(n, 1);
x = linspace(left, right, n)';

q = zeros(2*n, 1);
q(1:2:end) = x
q(2:2:end) = y

但是使用匿名函數作為邊界是不可能做到的。 我的嘗試看起來像這樣,但是我真的很感謝更好的解決方案

n = 5;
left = @(t) 0.5 * t;
right = @(t) 2 * t^2 + 5;
diff = @(t) right(t) - left(t);

q = @(t) [];

for i = 1:n
    q = @(t) [q(t) i*diff(t)/n 0*t];
end

q(0.5)

希望您能幫助我,在此先感謝!

感謝@Adiel,我給出了以下答案

function [Q] = reference_configuration(left, right, n, t)

l = left(t);
r = right(t);
diff = r - l;

x = linspace(0, diff, n);
y = zeros(1, n);

q = zeros(1, 2*n);
q(1:2:end) = x;
q(2:2:end) = y;

end

也許它可以幫助某人。 謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM