Trying to insert the numerical value of a variable:
clear;
clc;
syms x y z
e1 = 2*x+z == 2;
e2 = 2*y+z == 7.52;
e3 = (z/(x+y+z))*(3.76/4.76)^(-1/2)*(1/4.76)^(-1/2) == 0.0244;
[x,y,z] = vpasolve([e1, e2, e3], [x,y,z]);
l = num2cell(x);
m = num2cell(y);
n = num2cell(z);
disp(x);
I = cell(3,4);
I{1,1} = ' ';
I{1,2} = 'a';
I{1,3} = 'b';
I{1,4} = 'c';
I{2,1} = 'Moles';
I{3,1} = 'Mole Fraction';
I{2,2} = l;
disp(I);
The output of that looks like this:
So how may I have it so that the value of 'x' shows up in the 2v2 cellarray

4 Kommentare

This seems like the wrong approach. Why not use a table instead?
LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];
T = table(Age,Height,Weight,BloodPressure,...
'RowNames',LastName)
For example, this is basically what you're trying to do, right?
Yoshi
Yoshi am 23 Jan. 2016
using the command "double" solved my issue
I{2,2} = double(x);
Yoshi
Yoshi am 23 Jan. 2016
Yes that's it! Sorry, I didn't refresh this page before posting.
Star Strider
Star Strider am 23 Jan. 2016
Does my Answer do what you want?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Star Strider
Star Strider am 23 Jan. 2016

0 Stimmen

What do you want to do?
Part of the problem is that ‘a’, ‘b’, ‘c’ do not exist in your workspace.
If you want to put ‘x’, ‘y’, ‘z’ in ‘I’, do something like this:
I = cell(3,4);
I{1,1} = ' ';
I{1,2} = double(x);
I{1,3} = double(y);
I{1,4} = double(z);
I{2,1} = 'Moles';
I{3,1} = 'Mole Fraction';
I{2,2} = l;
disp(I);

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by