matlab 符号表达式正负,如何在Matlab上为符号表达式编写`lhs()`或`rhs()`函数

我在MATLAB中有一个带有==运算符的符号表达式,我可以在solve()中使用它.我想要的是将表达式的左侧和右侧分成两个单独的符号表达式.

例如:

expr = sym('[1-x^2==2*y; 1+x^2==x+y]');

side1 = lhs(expr); % returns side1 = [1-x^2; 1+x^2];

当然,我的表达式要复杂得多,它总是矢量或矩阵形式.

解决方法1

我可以使用MuPAD内置函数lhs(),但我想知道是否可以仅使用MATLAB函数来完成此操作,并且我想让它适用于表达式的向量而不仅仅是一个值.

这是我到目前为止按预期工作的.也许结果填充可以通过使用以某种方式进行矢量化:但我还没有设法让它工作.

function [ r ] = lhs( expr )

%LHS Returns the left hand side an expression

% LHS(sym('[1-x^2==2*y'; 1+x^2==x+y]')) = [1-x^2; 1+x^2]

cmd = @(e)['lhs(',char(e),')'];

[m,n] = size(expr);

r = sym(zeros(m,n));

for i=1:m

for j=1:n

r(i,j) = evalin(symengine, cmd(expr(i,j)));

end

end

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C是指一个变量或对象的左值(LHS)和右值(RHS)。引用中提到,只要LHS / RHS值对ostream友好,则将对其进行打印。这意味着如果C是一个类型,它可以被正确地打印到输出流中。引用中提到,当C作为左值时,将调用拷贝构造函数;当C作为右值时,将调用移动构造函数。这说明C可以作为左值或右值进行操作。引用中提到,在C++11中,类与五个特殊函数密切相关,它们是析构函数、拷贝构造函数、移动构造函数、拷贝赋值运算符和移动赋值运算符。这意味着C可以具有这些特殊函数来管理其生命周期和赋值操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [assume:假设是一个更聪明的断言替换(C ++ 03)](https://download.csdn.net/download/weixin_42127835/18470127)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [1.5 C++细节五大函数:析构函数,拷贝构造,移动构造,拷贝赋值,移动赋值](https://blog.csdn.net/wyzeya/article/details/121293393)[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^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值