Clear Filters
Clear Filters

displaying system format?

1 view (last 30 days)
Eliza
Eliza on 16 Nov 2017
Commented: Eliza on 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

Accepted Answer

Walter Roberson
Walter Roberson on 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 Comments
Walter Roberson
Walter Roberson on 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 on 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

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!