Plotting a cell as a plot

94 views (last 30 days)
David Rogers
David Rogers on 30 Apr 2019
Edited: Adam Danz on 30 Apr 2019
I need to plot each cell in a 1x7 cell - each has a 2x15 double. I need them all on the same graph, just as different lines. So trac_speed{1} would be plotted with the first row on the x axis and second row on the y axis, and trac_speed{2} is a seperate line on the same plot. How can I do this?
I used the following code to generate the 1x7 cell:
n=length(total_ratios);
trac_speed = cell(n:1);
fori = 1:n
trac_speed{i} = [(60*2*pi*r/(1609.344*total_ratios(i)))...
*Torque(1, 1:length(Torque)); (total_ratios(i)*0.224809/r)*...
Torque(2, 1:length(Torque))];
end

Accepted Answer

David Rogers
David Rogers on 30 Apr 2019
figure;
holdon;
fori = 1:length(trac_speed)
plot(trac_speed{i}(1, 1:15), trac_speed{i}(2, 1:15))
end

More Answers (1)

Adam Danz
Adam Danz on 30 Apr 2019
Edited:Adam Danz on 30 Apr 2019
Here's an alternative (without loops)
figure
holdon
cellfun(@(x)plot(x(1,:),x(2,:)), trac_speed)
Demo:
% Create fake data
trac_speed = cellfun(@(x)[1:15; rand(1,15)], cell(1,7),'UniformOutput', false);
figure
axes
holdon
h = cellfun(@(x)plot(x(1,:),x(2,:)), trac_speed);
legendTxt = strsplit(sprintf('line %d|', 1:numel(h)),'|');
legend(h, legendTxt(1:end-1))

下载188bet金宝搏

Community Treasure Hunt

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

Start Hunting!