永发信息网

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

答案:1  悬赏:10  手机版
解决时间 2021-08-21 12:27
  • 提问者网友:难遇难求
  • 2021-08-20 23:56
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 真心求教,小白一枚,
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-08-21 01:08

这个 `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 的每个元素分别循环了。
再答: 不客气~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯