| 查看: 3721 | 回复: 10 | ||
[求助]
用matlab求解方程式 已有1人参与
|
||
|
假设a和b已知,a,b,x,y>0,求解x和y a=[1+(0.0172*x)^2]^(-y/2) b=y*arctan(0.0172*x) 希望可以提供程序代码,或者解!非常感谢! |
» 猜你喜欢
中国科学院东莞材料科学与技术研究所-2026年博士招生-吴昊研究员-磁学与自旋电子学
已经有0人回复
《电磁学》教材推荐
已经有1人回复
物理学I论文润色/翻译怎么收费?
已经有263人回复
【急招】合肥工大核聚变材料计算方向2026级工程博士生
已经有4人回复
大豆异黄酮分离
已经有0人回复
湖南大学材料学院急招2026年博士生,临时增加一名博士联培指标
已经有10人回复
天津理工大学晶体材料全国重点实验室刘红军教授课题组招收博士生1-2名
已经有1人回复
中国科学院物理研究所谌志国研究员团队招收2027年博士研究生
已经有3人回复
2026年中德博士后交流项目 - 新型量子和磁性材料:材料制备表征和中子散射研究
已经有12人回复
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31016.3
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 856.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
钟声入翠微: 金币+40, ★★★★★最佳答案 2021-07-08 21:19:15
钟声入翠微: 金币+40, ★★★★★最佳答案 2021-07-08 21:19:15
|
这个需要尝试,可以用 fsolve 函数随机赋值求解。 结果不理想就要考虑方程是否正确,或者a,b取值是否合理。 function example_0708 clear; a=0.709133065; b=0.08555; x0 = [1,1]; x = fsolve(@root2d,x0); fprintf('\tx=%.8f\n',x(1)); fprintf('\ty=%.8f\n',x(2)); function F = root2d(x) F(1) = (1+(0.0172*x(1))^2)^(-x(2)/2)-a; F(2) = x(2)*atan(0.0172*x(1))-b; end end |
» 本帖已获得的红花(最新10朵)

10楼2021-07-08 16:30:14
2楼2021-07-05 16:42:44
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31016.3
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 856.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟

3楼2021-07-05 19:49:57
送红花一朵 |
我是去百度了solve用法,但是运行的时候一直显示错误, 我最先给a,b赋值进行计算,但是一直显示运算符错误 syms x y; >>[x ,y]=solve(' 0.709133=[1+(0.0172*x)^2]^(-y/2)','0.08555=y*arctan(0.0172*x)'); 然后使用了未赋值 clc,clear syms a b y x sola=solve(a==(1+(0.0172*x)^2)^(-y/2),x) %待求解的变量是x sol=solve(b==y*atan(0.0172*x),y) %待求解的变量是y 还是运算不出想要的东西 因为只会一点点matlab,就一直解决不了问题。 |
4楼2021-07-06 09:02:45
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31016.3
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 856.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟

5楼2021-07-06 12:51:49
6楼2021-07-06 14:42:42
送红花一朵 |
我自己又代入了一下,得到这样的结果,是什么意思呢? Warning: The solutions are parameterized by the symbols: z, z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. > In solve>warnIfParams (line 510) In solve (line 367) Warning: The solutions are valid under the following conditions: 1/((1849*z^2)/6250000 + 1)^(z1/2) - 6387302814580195/9007199254740992 == 0 & z1*atan((43*z)/2500) - 1711/20000 == 0 & 0 < z & 0 < z1. To include parameters and conditions in the solution, specify the 'ReturnConditions' option. > In solve>warnIfParams (line 517) In solve (line 367) X = z Y = z1 |
7楼2021-07-06 14:53:48
独孤神宇
版主 (知名作家)
- 应助: 490 (硕士)
- 贵宾: 0.008
- 金币: 31016.3
- 散金: 802
- 红花: 122
- 沙发: 1
- 帖子: 5600
- 在线: 856.5小时
- 虫号: 3522474
- 注册: 2014-11-06
- 性别: GG
- 专业: 机械动力学
- 管辖: 计算模拟

8楼2021-07-06 17:42:15
9楼2021-07-08 14:23:57












回复此楼