符号表达式点乘变成乘的问题解决,符号表达式转字符串

两者区别

乘是矩阵的运算,点乘是矩阵中元素的运算。
点乘就是 每个元素逐点运算,这就要求两个矩阵行列数相同;
单纯的乘就是矩阵乘运算
a*b表示矩阵a与矩阵b进行矩阵相乘。
a.*b表示矩阵a中的元素与矩阵b中的元素按照相同位置进行相乘,得到的结果作为新矩阵中相同位置的元素。
而一个数如 8.*A就是代表8乘以矩阵中的每一个元素。

代码
syms  a b c v t
kesi=0;
for i=1:n-1
    Z1(i+1)=c*Y1(i)+(1-c)*Y1(i+1);
end
for i=2:n
    Y(i)=(Y1(i)-Y1(i-1))/(X1(i)-X1(i-1));
end
Y;

%% 为应用最小二乘法,构建一个平方和函数
f=0;

for i=2:n
    f=f+(Y(i)+a*b*(X1(i)-v)^(b-1)*Z1(i)-a*b*(X1(i)-v)^(b-1))^2;
end
%求f对a和b的偏导数
df_a=diff(f,a);

%求偏导数=0的的点(以a为未知数)
a=solve(df_a,a)

F=1-exp(-a*(t-v)^b)


 s=0;
 for i=1:n
  
   W(i)=subs(F,t,X1(i));
   s=s+(W(i)-Y1(i))^2;
 end
s = char(s);
字符串下将乘转成点乘

a=vectorize(newStr);

符号表达式下将乘转成点乘

fun = matlabFunction(fun);

符号表达转字符串

s = char(s);

字符串转符号表达式

s =eval(a);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值