Cell usage from matlab GUI
显示 更早的评论
Hi pro's,
I'm creating a MATLAB user interface to interpret and plot certain data earlier obtained by the MATLAB instrument toolbox. This data is stored in a 4x4 Cell each containing a 2x1 table with complex data inserted. I need to display the complex data in two plots. From the command window i can already do this with the following code:
function plot(S)
figure('Name', 'Patch cable');
subplot(2,1,1)
plot(S{1,1}(:,1)*1e-6, 20*log10(abs([S{1,1}(:,2) S{2,2}(:,2) S{3,3}(:,2) S{4,4}(:,2)])), 'linewidth', 2);
hold on; grid on
xlabel('Frequency [MHz]'); ylabel('Return loss [dB]');
legend('Pair 12', 'Pair 36', 'Pair 78', 'Pair 45', 'Location', 'southeast');
subplot(2,1,2)
plot(S{1,2}(:,1)*1e-6, 20*log10(abs([S{1,2}(:,2) S{1,3}(:,2) S{1,4}(:,2) S{2,3}(:,2) S{2,4}(:,2) S{3,4}(:,2)])), 'linewidth', 2);
hold on; grid on
xlabel('Frequency [MHz]'); ylabel('NEXT [dB]');
legend('Pair 12-36', 'Pair 12-78', 'Pair 12-45', 'Pair 36-78', 'Pair 36-45', 'Pair 45-78', 'Location', 'southeast');
end
When I use a MATLAB GUI I use a text edit box which returns a string with the name of the cell in the workspace. The question is how can i use this string to handle the Cell and its values as in the code shown above?
Thanks in advance for your help!
BR, Wouter
3 个评论
Geoff Hayes
2016-7-21
How is the 4x4 cell related to the string in the text edit control? You mention how it is the name of the cell, but I don't understand how that would be used given the code that you have posted.
W. Hebben
2016-7-25
Geoff Hayes
2016-7-25
So how does the cell name or other property relate to the code above? Please clarify with an example.
回答(1 个)
Image Analyst
2016-7-25
Get the variable name from the edit field like this
ca = handles.edit1.String;
Then you can use exist() or whos to check if that is a valid variable name, and if it is, do something. Or you can just go into a switch case statement where you check the user's entry for all valid cell array names that you know in advance exist, and then do something with that knowledge. Like
switch ca
case 'word1'
S = word1; % Assign cell array called word1 to S.
case 'someOtherName'
S = someOtherName; % Assign cell array called someOtherName to S.
case 'thingNumber3'
S = thingNumber3; % Assign cell array called thingNumber3 to S.
end
% Now we have S and can plot it
plot(S................... whatever....
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!