24小时热门版块排行榜    

CyRhmU.jpeg
查看: 756  |  回复: 5

yongning88

铜虫 (小有名气)

[求助] matalb中if使用出错已有2人参与

clear
a=[0.0000000000000000
0.0133867735470941
0.0267735470941882
0.0401603206412823
0.0535470941883764
0.0669338677354705
0.0803206412825646
0.0937074148296587
0.1070941883767530
0.1204809619238470
0.1338677354709410
0.1472545090180350
0.1606412825651290
0.1740280561122230
0.1874148296593170
0.2008016032064110
0.2141883767535060
0.2275751503006000
0.2409619238476940
0.2543486973947880
0.2677354709418820
0.2811222444889760
0.2945090180360700
0.3078957915831640
0.3212825651302580
0.3346693386773520
0.3480561122244470
0.3614428857715410
0.3748296593186350
0.3882164328657290
0.4016032064128230
0.4149899799599170
0.4283767535070110
0.4417635270541050
0.4551503006011990
0.4685370741482930
0.4819238476953880
0.4953106212424820
0.5086973947895760
0.5220841683366700
0.5354709418837640
0.5488577154308580
0.5622444889779520
0.5756312625250460
0.5890180360721400
0.6024048096192340
0.6157915831663290
0.6291783567134230
0.6425651302605170
0.6559519038076110
0.6693386773547050
0.6827254509017990
0.6961122244488930
0.7094989979959870
0.7228857715430810
0.7362725450901750
0.7496593186372700
0.7630460921843640
0.7764328657314580
0.7898196392785520
0.8032064128256460
0.8165931863727400
0.8299799599198340
0.8433667334669280
0.8567535070140220
0.8701402805611160
0.8835270541082110
0.8969138276553050
0.9103006012023990
0.9236873747494930
0.9370741482965870
0.9504609218436810
0.9638476953907750
0.9772344689378690
0.9906212424849630
1.0040080160320600
1.0173947895791500
1.0307815631262500
1.0441683366733400
1.0575551102204300
1.0709418837675300
1.0843286573146200
1.0977154308617200
1.1111022044088100
1.1244889779559000
1.1378757515030000
1.1512625250500900
1.1646492985971900
1.1780360721442800
1.1914228456913700
1.2048096192384700
1.2181963927855600
1.2315831663326600
1.2449699398797500
1.2583567134268500
1.2717434869739400
1.2851302605210300
1.2985170340681300
1.3119038076152200
1.3252905811623200
1.3386773547094100
1.3520641282565000
1.3654509018036000
1.3788376753506900
1.3922244488977900
1.4056112224448800
1.4189979959919700
1.4323847695390700
1.4457715430861600
1.4591583166332600
1.4725450901803500
1.4859318637274500
1.4993186372745400
1.5127054108216300
1.5260921843687300
1.5394789579158200
1.5528657314629200
1.5662525050100100
1.5796392785571000
1.5930260521042000
1.6064128256512900
1.6197995991983900
1.6331863727454800
1.6465731462925700
1.6599599198396700
1.6733466933867600
1.6867334669338600
1.7001202404809500
1.7135070140280400
1.7268937875751400
1.7402805611222300
1.7536673346693300
1.7670541082164200
1.7804408817635200
1.7938276553106100
1.8072144288577000
1.8206012024048000
1.8339879759518900
1.8473747494989900
1.8607615230460800
1.8741482965931700
1.8875350701402700
1.9009218436873600
1.9143086172344600
1.9276953907815500
1.9410821643286400
1.9544689378757400
1.9678557114228300
1.9812424849699300
1.9946292585170200
2.0080160320641100
2.0214028056112100
2.0347895791583000
2.0481763527054000
2.0615631262524900
2.0749498997995900
2.0883366733466800
2.1017234468937700
2.1151102204408700
2.1284969939879600
2.1418837675350600
2.1552705410821500
2.1686573146292400
2.1820440881763400
2.1954308617234300
2.2088176352705300
2.2222044088176200
2.2355911823647100
2.2489779559118100
2.2623647294589000
2.2757515030060000
2.2891382765530900
2.3025250501001900
2.3159118236472800
2.3292985971943700
2.3426853707414700
2.3560721442885600
2.3694589178356600
2.3828456913827500
2.3962324649298400
2.4096192384769400
2.4230060120240300
2.4363927855711300
2.4497795591182200
2.4631663326653100
2.4765531062124100
2.4899398797595000
2.5033266533066000
2.5167134268536900
2.5301002004007800
2.5434869739478800
2.5568737474949700
2.5702605210420700
2.5836472945891600
2.5970340681362600
2.6104208416833500
2.6238076152304400
2.6371943887775400
2.6505811623246300
2.6639679358717300
2.6773547094188200
2.6907414829659100
2.7041282565130100
2.7175150300601000
2.7309018036072000
2.7442885771542900
2.7576753507013800
2.7710621242484800
2.7844488977955700
2.7978356713426700
2.8112224448897600
2.8246092184368500
2.8379959919839500
2.8513827655310400
2.8647695390781400
2.8781563126252300
2.8915430861723300
2.9049298597194200
2.9183166332665100
2.9317034068136100
2.9450901803607000
2.9584769539078000
2.9718637274548900
2.9852505010019800
2.9986372745490800
3.0120240480961700
3.0254108216432700
3.0387975951903600
3.0521843687374500
3.0655711422845500
3.0789579158316400
3.0923446893787400
3.1057314629258300
3.1191182364729300
3.1325050100200200
3.1458917835671100
3.1592785571142100
3.1726653306613000
3.1860521042084000
3.1994388777554900
3.2128256513025800
3.2262124248496800
3.2395991983967700
3.2529859719438700
3.2663727454909600
3.2797595190380500
3.2931462925851500
3.3065330661322400
3.3199198396793400
3.3333066132264300
3.3466933867735200
3.3600801603206200
3.3734669338677100
3.3868537074148100
3.4002404809619000
3.4136272545090000
3.4270140280560900
3.4404008016031800
3.4537875751502800
3.4671743486973700
3.4805611222444700
3.4939478957915600
3.5073346693386500
3.5207214428857500
3.5341082164328400
3.5474949899799400
3.5608817635270300
3.5742685370741200
3.5876553106212200
3.6010420841683100
3.6144288577154100
3.6278156312625000
3.6412024048096000
3.6545891783566900
3.6679759519037800
3.6813627254508800
3.6947494989979700
3.7081362725450700
3.7215230460921600
3.7349098196392500
];
y=[1.5379
    0.3017
    -0.0478
    -0.1263
];
b=[-4.6726
    -1.764
    -0.4951
    -0.0436
   ];
c=[4.5462
    2.7434
    1.0008
    0.3313
   ];
d=[-1.5062
    -1.7139
    -0.6584
    -0.2572
   ];
s=zeros(280,1);
for i=1:280
   if 2.094<a(i)<2.493
       s(i)=y(1)+b(1)*(a(i)-x(1))+c(1)*(a(i)-x(1))^2+d(1)*(a(i)-x(1))^3;
   elseif 2.493<a(i)<2.8319
       s(i)=y(2)+b(2)*(a(i)-x(2))+c(2)*(a(i)-x(2))^2+d(2)*(a(i)-x(2))^3;
   elseif 2.8319<a(i)<3.1708
       s(i)=y(3)+b(3)*(a(i)-x(3))+c(3)*(a(i)-x(3))^2+d(3)*(a(i)-x(3))^3;
   elseif 3.1708<a(i)<3.5097
       s(i)=y(4)+b(4)*(a(i)-x(4))+c(4)*(a(i)-x(4))^2+d(4)*(a(i)-x(4))^3;
   else
       s(i)=0;
   end
end
disp(s)
结果不对啊,都没出现0,求大神解答
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
因为你没有给出x的值啊!
加上x=[2.094,2.493,2.8319,3.1708];
运行结果如下:
45.0864
   44.5062
   43.9310
   43.3609
   42.7956
   42.2353
   41.6800
   41.1295
   40.5839
   40.0431
   39.5071
   38.9760
   38.4496
   37.9280
   37.4112
   36.8990
   36.3916
   35.8888
   35.3907
   34.8972
   34.4083
   33.9240
   33.4443
   32.9691
   32.4984
   32.0322
   31.5706
   31.1133
   30.6605
   30.2122
   29.7682
   29.3285
   28.8933
   28.4623
   28.0357
   27.6133
   27.1952
   26.7814
   26.3718
   25.9663
   25.5651
   25.1680
   24.7750
   24.3861
   24.0013
   23.6206
   23.2440
   22.8713
   22.5027
   22.1380
   21.7773
   21.4205
   21.0677
   20.7187
   20.3736
   20.0324
   19.6950
   19.3614
   19.0316
   18.7055
   18.3832
   18.0646
   17.7497
   17.4385
   17.1310
   16.8270
   16.5267
   16.2300
   15.9368
   15.6472
   15.3611
   15.0785
   14.7994
   14.5238
   14.2516
   13.9828
   13.7174
   13.4554
   13.1967
   12.9414
   12.6893
   12.4406
   12.1951
   11.9529
   11.7138
   11.4780
   11.2454
   11.0159
   10.7895
   10.5663
   10.3462
   10.1291
    9.9151
    9.7040
    9.4960
    9.2910
    9.0890
    8.8899
    8.6937
    8.5004
    8.3099
    8.1224
    7.9376
    7.7557
    7.5765
    7.4002
    7.2265
    7.0556
    6.8874
    6.7219
    6.5590
    6.3987
    6.2411
    6.0861
    5.9336
    5.7837
    5.6363
    5.4914
    5.3490
    5.2091
    5.0716
    4.9365
    4.8039
    4.6736
    4.5456
    4.4200
    4.2967
    4.1757
    4.0569
    3.9404
    3.8262
    3.7141
    3.6042
    3.4965
    3.3909
    3.2874
    3.1860
    3.0867
    2.9894
    2.8942
    2.8009
    2.7097
    2.6204
    2.5331
    2.4476
    2.3641
    2.2825
    2.2027
    2.1247
    2.0486
    1.9742
    1.9017
    1.8308
    1.7617
    1.6943
    1.6286
    1.5645
    1.5021
    1.4413
    1.3821
    1.3244
    1.2683
    1.2138
    1.1607
    1.1092
    1.0591
    1.0104
    0.9632
    0.9173
    0.8729
    0.8298
    0.7880
    0.7476
    0.7084
    0.6705
    0.6339
    0.5985
    0.5643
    0.5312
    0.4994
    0.4687
    0.4390
    0.4105
    0.3831
    0.3567
    0.3314
    0.3070
    0.2837
    0.2613
    0.2399
    0.2194
    0.1997
    0.1810
    0.1631
    0.1461
    0.1299
    0.1144
    0.0998
    0.0859
    0.0727
    0.0602
    0.0484
    0.0373
    0.0268
    0.0169
    0.0076
   -0.0010
   -0.0092
   -0.0168
   -0.0239
   -0.0305
   -0.0366
   -0.0423
   -0.0476
   -0.0525
   -0.0569
   -0.0611
   -0.0649
   -0.0683
   -0.0715
   -0.0744
   -0.0771
   -0.0795
   -0.0817
   -0.0837
   -0.0856
   -0.0873
   -0.0889
   -0.0904
   -0.0918
   -0.0932
   -0.0945
   -0.0959
   -0.0972
   -0.0985
   -0.1000
   -0.1015
   -0.1030
   -0.1047
   -0.1066
   -0.1086
   -0.1108
   -0.1131
   -0.1158
   -0.1186
   -0.1218
   -0.1252
   -0.1289
   -0.1330
   -0.1374
   -0.1422
   -0.1474
   -0.1530
   -0.1591
   -0.1656
   -0.1726
   -0.1802
   -0.1882
   -0.1968
   -0.2060
   -0.2158
   -0.2262
   -0.2372
   -0.2489
   -0.2612
   -0.2743
   -0.2881
   -0.3026
   -0.3179
   -0.3340
   -0.3510
   -0.3687
   -0.3873
   -0.4068
   -0.4271
   -0.4484
   -0.4707
   -0.4938
   -0.5180
   -0.5432
善恶到头终有报,人间正道是沧桑.
2楼2015-07-01 12:04:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yongning88

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by wurongjun at 2015-07-01 12:04:16
因为你没有给出x的值啊!
加上x=;
运行结果如下:
45.0864
   44.5062
   43.9310
   43.3609
   42.7956
   42.2353
   41.6800
   41.1295
   40.5839
   40.0431
   39.5071
   38.9760
   38.44 ...

恩,可还是不对啊,比如当a=0时,ss=0;可matlab算的不对啊
3楼2015-07-01 13:09:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Nonsmooth

银虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
switch 开关表达式
                    case  表达式1
                       语句,…,语句
                   case{表达式1,表达式2,表达式3,…}
                       语句,…,语句
                …
                   otherwise
                      语句,…,语句
                end
学术无国界。
4楼2015-07-01 15:07:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

引用回帖:
3楼: Originally posted by yongning88 at 2015-07-01 13:09:25
恩,可还是不对啊,比如当a=0时,ss=0;可matlab算的不对啊...

end 与 if 不配对
5楼2015-07-01 15:51:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
yongning88: 金币+10, ★★★★★最佳答案, 谢谢您的回答,原来中间还得加连接号 2015-07-01 20:36:58
引用回帖:
3楼: Originally posted by yongning88 at 2015-07-01 13:09:25
恩,可还是不对啊,比如当a=0时,ss=0;可matlab算的不对啊...

你的if 表达式不对!
修改如下,(a太长了缩减一下)
a=[2.7442885771542900
2.7576753507013800
2.7710621242484800
2.7844488977955700
2.7978356713426700
2.8112224448897600
3.6278156312625000
3.6412024048096000
3.6545891783566900
3.6679759519037800
3.6813627254508800
3.6947494989979700
3.7081362725450700
3.7215230460921600
3.7349098196392500
];
y=[1.5379
    0.3017
    -0.0478
    -0.1263
];
b=[-4.6726
    -1.764
    -0.4951
    -0.0436
   ];
c=[4.5462
    2.7434
    1.0008
    0.3313
   ];
d=[-1.5062
    -1.7139
    -0.6584
    -0.2572
   ];
x=[1 2 3 4];
s=zeros(length(a),1);
for i=1:length(a)
   if 2.094<a(i) & a(i)<2.493
       s(i)=y(1)+b(1)*(a(i)-x(1))+c(1)*(a(i)-x(1))^2+d(1)*(a(i)-x(1))^3;
   elseif 2.493<a(i) & a(i)<2.8319
       s(i)=y(2)+b(2)*(a(i)-x(2))+c(2)*(a(i)-x(2))^2+d(2)*(a(i)-x(2))^3;
   elseif 2.8319<a(i) & a(i)<3.1708
       s(i)=y(3)+b(3)*(a(i)-x(3))+c(3)*(a(i)-x(3))^2+d(3)*(a(i)-x(3))^3;
   elseif 3.1708<a(i) & a(i)<3.5097
       s(i)=y(4)+b(4)*(a(i)-x(4))+c(4)*(a(i)-x(4))^2+d(4)*(a(i)-x(4))^3;
   else
       s(i)=0;
   end
end
disp(s)
>>    -0.1981
   -0.2054
   -0.2131
   -0.2212
   -0.2298
   -0.2389
         0
         0
         0
         0
         0
         0
         0
         0
         0
善恶到头终有报,人间正道是沧桑.
6楼2015-07-01 19:19:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yongning88 的主题更新
信息提示
请填处理意见