楼主: 张程啊啊
1985 7

[程序分享] matlab solve解方程 [推广有奖]

  • 0关注
  • 0粉丝

初中生

57%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
291 点
帖子
13
精华
0
在线时间
5 小时
注册时间
2017-8-15
最后登录
2017-8-28

楼主
张程啊啊 发表于 2017-8-15 17:51:21 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

>> fx=[46.7        52.7        42.5        44.7        59.9        47.6        18.5        1.2        6.5        17.2        8.5        25.5
];
fy=[2.3        10.1        26.5        35.1        10.4        25.6        36.2        34.3        25.8        19.3        16.7        16.9
];
mx=[596.2        593.6        591.2
];
my=[323.6
327
336.4
]';
i=1;
ii=1;
>> syms k b
>> for ii=1:3
        for i=1:12
        fy(i)=fx(i)*k+b;
       my(ii)=mx(ii)*k+b;
       [k,b]=solve(fy(i),my(ii),k,b)
       end
end
从 sym 转换为 double 时出现以下错误:
DOUBLE cannot convert the input expression into a double array.

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB matla Solve atlab Atl

沙发
张程啊啊 发表于 2017-8-15 17:51:57
怎么修改啊

藤椅
deem 学生认证  发表于 2017-8-15 18:18:31
  1. syms k b
  2. out = zeros(36, 2)

  3. for ii=1:3
  4.     for i=1:12
  5.         index = (ii-1)*12+i;
  6.         eq1 = fy(i)==fx(i)*k+b;
  7.         eq2 = my(ii)==mx(ii)*k+b;
  8.         [out(index,1),out(index,2)] = solve(eq1,eq2,k,b);
  9.     end
  10. end     
复制代码

板凳
张程啊啊 发表于 2017-8-15 18:46:47
deem 发表于 2017-8-15 18:18
老哥 你这解出来全是零 啊
out =

     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0
     0     0

报纸
deem 学生认证  发表于 2017-8-15 18:55:00
张程啊啊 发表于 2017-8-15 18:46
老哥 你这解出来全是零 啊
out =
你再输一遍out,我原来的代码忘记在out后面加分号了,所以你看到的是初始化的值。
  1. out =

  2.     0.5847  -25.0061
  3.     0.5768  -20.2983
  4.     0.5366    3.6957
  5.     0.5231   11.7166
  6.     0.5840  -24.5817
  7.     0.5432   -0.2564
  8.     0.4975   26.9964
  9.     0.4862   33.7165
  10.     0.5050   22.5175
  11.     0.5256   10.2603
  12.     0.5222   12.2613
  13.     0.5374    3.1960
  14.     0.5937  -25.4263
  15.     0.5859  -20.7756
  16.     0.5453    3.3259
  17.     0.5318   11.3289
  18.     0.5932  -25.1337
  19.     0.5520   -0.6759
  20.     0.5057   26.8455
  21.     0.4941   33.7071
  22.     0.5130   22.4653
  23.     0.5338   10.1181
  24.     0.5303   12.1921
  25.     0.5459    2.9807
  26.     0.6136  -26.3547
  27.     0.6059  -21.8332
  28.     0.5648    2.4964
  29.     0.5513   10.4557
  30.     0.6136  -26.3540
  31.     0.5717   -1.6150
  32.     0.5242   26.5026
  33.     0.5120   33.6856
  34.     0.5312   22.3471
  35.     0.5524    9.7980
  36.     0.5487   12.0365
  37.     0.5648    2.4979
复制代码

地板
张程啊啊 发表于 2017-8-15 19:36:07
deem 发表于 2017-8-15 18:55
你再输一遍out,我原来的代码忘记在out后面加分号了,所以你看到的是初始化的值。
偕老哥

7
张程啊啊 发表于 2017-8-15 19:36:27
张程啊啊 发表于 2017-8-15 19:36
偕老哥
谢!
= =

8
张程啊啊 发表于 2017-8-15 19:36:50
张程啊啊 发表于 2017-8-15 19:36
偕老哥
谢!
= =

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-2 02:34