我想写一个程序,绘制一个半圆上的点在一定的间隔和其他地方的直线上。像这样:__n__
。MATLAB Piecewise函数+矢量操作
我定义了一个时间域,它被存储为一个向量(t = 0:0.01:5
)。我认为我可以在使用时间矢量的元素半圆的顶部限定的点:
if t>=2|t<=2.3
y = sqrt(.15^2-(t-2.15)^2);
但MATLAB所产生的错误消息,仅方阵可以平方。
我试图利用指数表明,我想方的吨向量的元素,而不是整个矢量:
i = [200:230];
for t(200:230)
y = sqrt(.15^2-(t(i)-2.15)^2);
这些失败后,我注意到平方的正方形矩阵的一列非零元素将产生具有第一矩阵元素的平方的列的新方形矩阵。如果在矩阵平方后有一些方法可以消除额外的零列,我可以使用矩阵的属性来平方t向量的值。
解决此问题的最简单和最有效的方法是什么?
此解释有帮助。以下是我编译的代码: '%定义传输函数的组件: north = 1.31 * 10^6 * [113.3]; south = [1 516.1 5.685 * 10^4 1.307 * 10^6 1.733 * 10^7]; h = tf(北,南); %TIME INTERVAL: t = 0:0.01:5; %使用分段功能定义速度缓冲点: y =零(size(t)); index = find((t> = 2)&(t <= 2.3)); (指数)= sqrt(.15^2-(t(指数)-2.15)。 ([1:index(1)index(end):end])= y(index(1)); %具有响应的PLOT分块功能: lsim(h,y,t);' 谢谢! – 2009-10-12 04:10:09