if an array like [.002 1.1103 0.665 .002]. how can i get [a b c a]?

if an array like [.002 1.1103 0.665 .002]. how can i get [a b c a]? i want to print .002=a 1.1103=b .665=c .002=a. how can i get this?

回答(3 个)

Not sure what you want. Maybe this?
myVector = [.002 1.1103 0.665 .002];
a = myVector(1);
b = myVector(2);
c = myVector(3);

2 个评论

Could you please tell us what you mean? Do you want to print something on the screen or do you want to access an array? And what do you mean with "get .002=a"?
Does the output need to be ".002" or is "0.002" also fine? If there must not be the leading zero, what kind of array do you have? I mean, the internal representation of ".002" is 0.002 if it's any kind of numerical value.
Also, do you always have the scheme a-b-c-a or could it also be a-b-c-d or a-b-b-b or whatever could be imagined?
Despite these unclear points, the answer could possibly just be
fprintf(1,'%1.3f=a %1.3f=b %1.3f=c %1.3f=a\n',myarray);
You could make a cell that looks like this:
x =
[0.2000] 'a'
[0.3000] 'b'
[0.5000] 'c'
Then do this:
y=cell2mat(x(:,1))
y =
0.2000
0.3000
0.5000
now let's say you want to find the letter that corresponds to 0.2
index=find(y==0.2)
now you do:
x{index,2}
which gives:
ans =
a
hope this does what you desire!

此问题已关闭。

产品

标签

尚未输入任何标签。

关闭:

2021-8-20

Community Treasure Hunt

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

Start Hunting!

Translated by