永发信息网

matlab中,下标索引必须为正整数类型或逻辑类型是哪里出错了?程序如下,所有量都已经赋值了。

答案:2  悬赏:0  手机版
解决时间 2021-04-24 04:41
n=(n_min:10:n_max); N=n./1000; Tq=-19.313+295.27.*N-165.44.*N.^2+40.874.*N.^3-3.8445.*N.^4; s=2*pi*r*0.001; Ft=Tq.*ig(i).*i0.*eT./r; ua=n./ig(i)./i0.*60.*s; Ff=m*g*f; Fw=CDA.*ua.^2./21.15; F=Ff+Fw; k=Ff-(Ff+Fw); i=tan(asin(k/(m*g))); str=['r','m','b','c','g']; plot(ua,i,str(i)); grid on; hold on; end xlabel('ua(Km/h)'),ylabel('i(%)')

完整程序
n_min=600;n_max=4000;
m1=2000;m0=1800;m=3880;
r=0.367;
eT=0.85;
f=0.013;
CDA=2.77;
i0=5.83;
If=0.218;Iw1=1.798;Iw2=3.598;
ig=[5.56294 2.76294 1.64294 1.00294 0.79294];
L=3.2;
a=1.947;
b=L-a;
hg=0.9;
g=9.8;
for i=1:5
下接题干问题
最佳答案
你给的程序不全,比较难看到问题

看上去可能出现问题的是
你的i是通过i=tan(asin(k/(m*g)))计算出来的,可能不是整数

你用ig(i),str(i)是要引用str数组中第i个元素
所以就抱错了,因为数组的下标只能是整数,你可能要数据中第1.5个数吧

就是这一语
i=tan(asin(k/(m*g)));
和这一句
plot(ua,i,str(i));

原来你的i是用于循环的控制的数是1~5
但是你计算得到的tan(asin(k/(m*g)))又赋值给i
你要画plot(ua,i,str(i)); ua和tan(asin(k/(m*g)))的关系,循环改用5种不同颜色

只要将这两句赋值的i换个名字就可以了,例如
I=tan(asin(k/(m*g)));
plot(ua,I,str(i));
全部回答
1. 下标可能为负数 2. 可能出现变量名称重复 当有时出现有时没有出现时,可能是由于循环使数据不同,导致下标有时为整数,有时为负数,有时为正整数。 参考资料 豆瓣.豆瓣[引用时间2018-1-20]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
神起最近有传绯闻吗?
求老电视剧名字`
DNF我召唤师35级还没有 解除 前置技能,请问怎
TA伤了你的心,分手后,TA又说还爱你,要和你复
怎么让多普达838的信号灯不亮?
宝鸡有化工厂招人吗?我女的。化学工艺专业毕
美的沁园净水器哪个好,沁园哪款净水器比较好
怎样改变性格?
DNF凯丽说的是什么?
周杰伦今年专辑啥时出版
小市派出所下大街警务室怎么去啊,有知道地址
谁能够把电视剧《再续意难忘》里面所有的歌曲
你知道易建联什么时间复出吗?
画图纸的总结方法
各种图形 用英文怎么说
推荐资讯
大家过年乐淘淘,抛开忧愁和烦恼是什么歌名
大腿长肉原因分析
空间为什么叫空间?
怎么发表视频日志?
去医院怎么开病例证明,我在新疆医科大学第一
Word 设置问题
下列哪一项是太阳光影响生物
丝路英雄完成1-7级的最难任务(追捕匈奴大盗
快捷键粘贴的意思
大一新生是在衡水学院主校么?
69全耐普陀能在比武大会上拿名次吗?
听说穆里尼奥和C罗吵架了吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?