作业帮 > 综合 > 作业

matlab书中一个简单的画圆的代码看不懂,

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/01 10:34:26
matlab书中一个简单的画圆的代码看不懂,
RT,书中较为完整的步骤是这样的:
圆心角的采样设置:theta=linspace(0,2*2pi,50);
半径长度的采样点设置:r=0.5:0.25:1.75;
x=1+cos(theta)`*r;
y=2+sin(theta)`*r;
关于x和y的赋值中出现的`*r 真心求教,小白一枚,
matlab书中一个简单的画圆的代码看不懂,
这个 `r 运算符 Matlab里面没有啊!如果是仅仅画圆的话可以这样:
theta = linspace(0, 2*pi, 50);
r = 0.5 : 0.25 : 1.75;
for i = 1:length(r)
    x = 1 + cos(theta) * r(i);
    y = 2 + sin(theta) * r(i);
    plot(x,y);hold on;
end
axis equal
grid on
这个程序画6个同心圆,半径就是向量 r 中的每个数值.

再问: 我给你看完整的代码,烦劳大虾指点一下: theta=linspace(0,2*pi,50); r=0.5:0.25:1.75; x=1+cos(theta)'*r; y=2+sin(theta)'*r; plot(x,y,1,2,'+'); axis([-1 3 0 4]); axis equal; xlabel('x'); ylabel('y'); title('circles');
再答: 哦,这个 '* 其实是两个符号,第一个是 ' (单引号)是对cos(theta)这个向量求转置的,第二个 * 是矩阵乘法。这样乘出来的是一个矩阵,就不需要向我那样对 r 的每个元素分别循环了。
再答: 不客气~