24小时热门版块排行榜    

查看: 1062  |  回复: 8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

lili870113

金虫 (小有名气)

[求助] 急求

为啥我的程序这样算出来是一个具体的数字而不是矩阵
r0=10.18*10^(-6);
h=17.8*10^(-6);
l = 100;
right = 10*10^(-6);
r = linspace(0,right,l);
zz = -h*r/(r0*sqrt(r0^2-r.^2));
theta = 180/pi.*(atan(-zz));

subplot(1,3,2)
plot(rr,theta(1:col));
xlabel('\it r \rm (μm)','fontname','Times New Roman');
ylabel('\it θ(r) \rm (°)','fontname','Times New Roman');
计算出来的时候zz等于一个具体的数字,theta总提示索引超出矩阵维度
回复此楼
开心快乐每一天
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csp101

金虫 (著名写手)

引用回帖:
5楼: Originally posted by lili870113 at 2018-08-11 10:15:34
那能麻烦你告诉我一下具体怎么加吗?非常感谢了...

?不是告诉你了吗……把r0定义成一个矩阵

发自小木虫IOS客户端
6楼2018-08-11 10:16:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

csp101

金虫 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lili870113(月只蓝代发): 金币+20, 求助者申请代发金币 2018-08-13 13:38:06
因为你的根号里面r0是一个数啊,你应该用ones(1,length(r))*r0来定义一个矩阵,其内部元素均为r0,这样才可以和r进行矩阵运算,另外,你作图时候的rr没有定义吧

发自小木虫IOS客户端
2楼2018-08-11 10:02:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lili870113

金虫 (小有名气)

引用回帖:
2楼: Originally posted by csp101 at 2018-08-11 10:02:39
因为你的根号里面r0是一个数啊,你应该用ones(1,length(r))*r0来定义一个矩阵,其内部元素均为r0,这样才可以和r进行矩阵运算,另外,你作图时候的rr没有定义吧

您好,请问一下这个ones(1,length(r))*r0是用来定义r0的吗?可以麻烦您说详细点吗?初学者,望见谅、
开心快乐每一天
3楼2018-08-11 10:11:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

csp101

金虫 (著名写手)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
lili870113(月只蓝代发): 金币+10, 求助者申请代发金币 2018-08-13 13:38:45
引用回帖:
3楼: Originally posted by lili870113 at 2018-08-11 10:11:30
您好,请问一下这个ones(1,length(r))*r0是用来定义r0的吗?可以麻烦您说详细点吗?初学者,望见谅、...

是的,定义r0,因为你要用r0和r进行运算,但是r是矩阵,而你原程序中r0是一个数,所以计算的时候MATLAB默认r0只与r中的一个元素(应该是第一个)进行计算了,自然得不到矩阵

发自小木虫IOS客户端
4楼2018-08-11 10:14:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见