How to change mathematical symbols of division (/ to ./) and multiplication(* to .*) in a very long formula obtained by symbolic tool.

3 ビュー (過去 30 日間)
I am using symbolic toolbox in order to write a formula and differentiation etc. After I have to use my final formula in a function. But in obtained formula by symbolic toolbox, symbol of division and multiplication are / and * respectively. When I put the values of a variable in vector or matrix form, It gives the error. So I have to change the symbols manually for example / (division) to ./ and * (multiply) to .*
Is there any alternate way to solve this problem. Thanks in advance.

採用された回答

Mischa Kim
Mischa Kim 2014 年 3 月 27 日
Mahak, copy-paste the formula into a script/function editor and use CTRL+F to replace the strings.
  1 件のコメント
Mahak SINGH CHAUHAN
Mahak SINGH CHAUHAN 2014 年 3 月 27 日
Thank You very much Mischa, I also did same just after putting question here. Thanks again for your reply.

サインインしてコメントする。

その他の回答 (1 件)

Joseph Cheng
Joseph Cheng 2014 年 3 月 27 日
編集済み: Joseph Cheng 2014 年 3 月 27 日
to do this you can do something like this.
textEquation=char(symsEquation);
division = [0 strfind(textEquation,'/')];
elbyelDivEquation=[];
for i =1:length(division)-1
elbyelDivEquation = [elbyelDivEquation textEquation(division(i)+1:division(i+1)-1) './'];
end
elbyelDivEquation=syms(elbyelDivEquation);
I did the / substitution quickly so didn't verify if it actually does capture whats between the / and then inserts the other portions. but that should do the trick.
  2 件のコメント
Mahak SINGH CHAUHAN
Mahak SINGH CHAUHAN 2014 年 3 月 27 日
Thank You Joseph.. It may also be another way to change.
Joseph Cheng
Joseph Cheng 2014 年 3 月 27 日
if this is a one off then Mischa Kim solution would be easier. However if this is going to happen routinely (say in a program or multiple runs in a script) you may want to automate it.

サインインしてコメントする。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by