1x4 matrix assigning values to a variable

So say i have a 1x4 matrix like this :
b =
7.1555540396380393239417370831804
1.993753283660616260599428304438
0.12926899451597696747749296398951
-11.278576317814632552018658351608
And i want to set any values greater than 1 to b1, then b2, then b3 etc. The original values of the matrix can change completely so i need it to be robust in that it will just either assign the variable or move on to the next value. I hope that makes sense. For this example I'd want to receive back b1=7.155.... b2=1.9937....
so far i though of this but it doesnt work when the x matrix changes size
x=b(find(b>1))
b1=x(1)
b2=x(2)
b3=x(3)
b4=x(4)
Thanks,
Joshua

2 个评论

This is not clear. How b, b1, b2, ... are related?
b is just a matrix, i just want to label to values of the matrix that are above one as b1, b2 etc

请先登录,再进行评论。

回答(1 个)

x=b(find(b>1))
x contains all what you want. Why do you want to creates the variables a1, a2, ...?
Read this link

2 个评论

This is my full script:
clear
g=9.81;
h=10;
u=1.5;
syms a b c d
a=u./sqrt(g.*h)
h=10;
d=0.5;
c=0.5;
b=solve(((a^(2).*b^4)/2)+2.*c.*a^(2).*b^(3)-(2-2.*d+a^(2)).*b^(2)-(4.*c+2.*c.*a^(2)-4).*b+((a^(2)/2)+4.*c-2.*c^(2).*d-2),b,'MaxDegree',3);
x=b(find(b>1))
b1=x(1)
b2=x(2)
b3=x(3)
b4=x(4)
i want to use the values given in the solve function that are greater than 1 in another equation next, but the variables in the solve function can change so the b matrix might have all values above 1 or none, if that makes sense?
Ok, until
x=b(b>1)
it's ok
why
b1=x(1) ?
x contains all what you want, why to create other variables b1, b2,...?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by