【发布时间】:2010-12-05 17:07:17
【问题描述】:
我想编写一个程序,它在一个半圆的顶部以一定的间隔绘制点,而在其他任何地方绘制一条直线。像这样的东西:__n__。
我定义了一个时域,它被存储为一个向量 (t = 0:0.01:5)。我假设我可以使用时间向量的元素定义半圆顶部的点:
if t>=2|t<=2.3
y = sqrt(.15^2-(t-2.15)^2);
但 MATLAB 产生了一条错误消息,指出只能对方阵进行平方。
我试图利用索引来表明我想对 t 向量的一个元素而不是整个向量进行平方:
i = [200:230];
for t(200:230)
y = sqrt(.15^2-(t(i)-2.15)^2);
在这些失败之后,我注意到用一列非零元素对一个方阵进行平方会产生一个新的方阵,其中第一个矩阵的一列元素平方。如果有某种方法可以在对矩阵进行平方后消除额外的零列,我可以使用矩阵的该属性来对 t 向量的值进行平方。
解决这个问题最简单、最有效的方法是什么?
【问题讨论】: