displaying system format?

1 次查看(过去 30 天)
Eliza
Eliza 2017-11-16
评论: Eliza 2017-11-16
could I display system as
x*[25
64
144]+y*
[5
5
12]+z*[
1
1
1]=[
289
345
123]
but the vectors are vertical

采纳的回答

Walter Roberson
Walter Roberson 2017-11-16
The closest the symbolic toolbox can do is
>> x*[25;64;144] + y*[5;5;12] + z*[1;1;1] == [289;345;123]
ans =
25*x + 5*y + z == 289
64*x + 5*y + z == 345
144*x + 12*y + z == 123
>> pretty(ans)
/ 25 x + 5 y + z == 289 \
| |
| 64 x + 5 y + z == 345 |
| |
\ 144 x + 12 y + z == 123 /
It is not possible at the MATLAB level to prevent the multiplications from taking place (it is possible if you are working in a MuPad notebook.)
To get the output you are looking for, you will need to do the output formatting yourself.
  4 个评论
Walter Roberson
Walter Roberson 2017-11-16
xm = [25;64;144];
ym = [5;5;12];
zm = [1;1;1];
rm = [289;345;123];
fprintf('x * [%5g; + y * [%5g; + z * [%5g; = [%5g;\n', xm(1), ym(1), zm(1), rm(1));
temp = [xm(2:end-1), ym(2:end-1), zm(2:end-1), rm(2:end-1)];
fprintf(' %5g; %5g; %5g; %5g;\n', temp.' ); %transpose is important
fprintf(' %5g] %5g] %5g] %5g]\n', xm(end), ym(end), zm(end), rm(end));
Eliza
Eliza 2017-11-16
why i am getting this result when i run the previous code I mean the division not decimal as your code
if true
% code
25*x + 5*y + z == 534/5
64*x + 8*y + z == 886/5
144*x + 12*y + z == 1396/5
end

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Get Started with MuPAD 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by