displaying system format?

1 Ansicht (letzte 30 Tage)
Eliza
Eliza am 16 Nov. 2017
Kommentiert: Eliza am 16 Nov. 2017
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

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 16 Nov. 2017
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 Kommentare
Walter Roberson
Walter Roberson am 16 Nov. 2017
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 am 16 Nov. 2017
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Get Started with MuPAD finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by