matlab解方程

一 未定义与 ‘function_handle’ 类型的输入参数相对应的运算符 ‘-’。

            r0_temp = @(lamda)[R * cos(lamda) ,R * sin(lamda) + v_y * lamda ]';      %光源点
            beta = @(lamda)(r0_temp - r_temp);
            r_temp是一个向量,[500;200];

解决方案:改成beta = @(lamda)(r0_temp(lamda) - r_temp);

二 一个函数的自变量是另一个函数的,如何求解

            syms lamda

            eu = @(lamda)[-sin(lamda) ,cos(lamda)]';
            ew = @(lamda)[ cos(lamda) ,sin(lamda)]';
            r0_temp = @(lamda)[R * cos(lamda) ,R * sin(lamda) + v_y * lamda ]';      %光源点
            beta = @(lamda)(r0_temp(lamda) - r_temp);
            gamma = @(lamda)(-atan2(dot(beta(lamda),eu(lamda)),dot(beta(lamda),ew(lamda)))); 
            
            eqn = 1 - (v_y * cos(lamda) + R * (cos(gamma(lamda)).^2) - sin(gamma(lamda)) * v_y * sin(gamma(lamda) - lamda))/ ...
                                        (cos(gamma(lamda)) * norm(r_temp - r0_temp(lamda))) == 0;

            solx1 = vpasolve(eqn, lamda,[0,2*pi]);
            lamdaA =  double(solx1(1));

三for 循环 定义N个不同名变量

syms S10
del_S = S10;
for i = 11:150
    syms(['S',num2str(i)]);
    del_S = [del_S,['S',num2str(i)]];
end```

## 四 N个不同名的变量求解结果,存放在一个结构体里面,如何批量取出(变量名字各不相同)
```cpp
for i = 10:150
    index = i-10+1;
    del_S_Result(index) = double(solx.(['S',num2str(i)]));
end

这里的变量名字依次为S10, S11,…S150

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,解方程是一个常见的操作。Matlab提供了多种方法来解不同类型的方程。 对于一元一次方程组,Matlab非常擅长进行求解。可以使用矩阵运算来解决这类方程组。对于齐次线性方程组,可以使用null(A,'r')来求解,其中'r'表示使用简化阶梯型行列式求解。这样可以得到线性无关的一组解,并引入常量k1和k2来表示通解。\[2\] 对于超过5次的一元函数方程,有时候使用solve指令无法得到满意的结果。在这种情况下,可以使用roots命令来求解。roots命令的参数是方程的各个系数按高次幂到低次幂排列成的向量。通过使用roots命令,可以得到满意的结果。\[3\] 总之,Matlab提供了强大的数值计算能力,可以用于解决各种类型的方程。无论是一元一次方程组还是高次函数方程,Matlab都提供了相的方法来进行求解。 #### 引用[.reference_title] - *1* [如何利用matlab解方程](https://blog.csdn.net/xiamenglei/article/details/80037968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [matlab解方程](https://blog.csdn.net/nangongyichen/article/details/124659013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值