plot() doesn't work in .m file?

20 views (last 30 days)
I'm slightly flustered: I just fitted a graph and typed plot() beneath to plot another graph, but Matlab gives error:
%% Fit: 'untitled fit 1'.
[xData, yData] = prepareCurveData( N, A );
% Set up fittype and options.
ft = fittype( 'poly6' );
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft );
% Plot fit with data.
figure( 'Name', 'untitled fit 1' );
h = plot( fitresult, xData, yData );
legend( h, 'A vs. N', 'untitled fit 1', 'Location', 'NorthEast', 'Interpreter', 'none' );
% Label axes
xlabel( 'N', 'Interpreter', 'none' );
ylabel( 'A', 'Interpreter', 'none' );
grid on
hold on
axis([-15 15 200 800])
Error in AmplitudeFit (line 36)
in command-window I can plot(x,y) without any issues.
Niklas Kurz
Niklas Kurz on 20 Jun 2020
alright I just forgot to include:
M = readtable('/Users/niklaskurz/Desktop/University/Documents/Exp.Physik/Organisation/Tk7 N/Eigenfrequenz mit I=0,2A');
x = M{:,1};
y = M{:,2};
I thought Matlab autimatically draws it from WorkSpace but the opposite was proven.

Sign in to comment.

Accepted Answer

Devineni Aslesha
Devineni Aslesha on 23 Jun 2020
Assuming that you have included the code for reading table into M and storing it in x and y before using plot(x,y), the error might be due to the character or string cell array resulted from the table. The plot function accepts numeric, categorical, datetime and duration datatypes. Refer this link to convert table variables containing characters or strings to categorical arrays.
Refer this link to plot categorical data.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!