Matlab newb here。我搜索过但没有找到如何执行以下操作:
x=0.1:1/100:10;
y=exp(a(a>=-1&a<=1)*sqrt(x));
plot(x,y)
我意识到x
和a
的维度不匹配,但我只想表达:“y
在常量{(1}}时的样子是什么例如,约束在-1和1“之间。
任何提示都表示赞赏。提前谢谢。
答案 0 :(得分:1)
您可以执行以下操作:
x=0.1:1/100:10; % 991 clips
a=-1:1/495:1; % use 1/495 here to make it also 991 clips
y=exp(a.*sqrt(x));
plot(x,y)
这将给出下图:
答案 1 :(得分:1)
假设a
和x
是独立的,您可以使用bsxfun
为y
和{{a
的所有组合计算x
。 1}}:
x = 0.1:1/100:10; %// define x values
a = linspace(-1,1,10); %// define a values
y = exp( bsxfun(@times, a, sqrt(x).') ); %'// compute y for all combinations
plot(x,y); %// this plots each column of y. Each colum represents a value of a
或绘制为3D图形(y
作为a
和x
的函数):
mesh(a,x,y)
xlabel('a')
ylabel('x')
zlabel('y')