Hello,
I do not know but I could not figure out how to fix a problem with xticks (I hate it). I also attach the data I am using. Bellow, are a few code lines
S=load('LandauData.mat');
data=S.data;
L=-2.;R=2.2;
t=dt.*(0:length(data)-1);
Unrecognized function or variable 'dt'.
plot(t,data,'-k');
hold on;
plot(t,0.*t+L,'--r');
plot(t,0.*t+R,'--r');
ylim([-10 11.7]);
xlabel('time');
ylabel('State, x');
title('Landau model');
yticks([-10 -6 -2 2 6 10]);
yticklabels([-10 -6 -2 2 6 10]);
xticks([1 200 400 600 800 1000]);
xticklabels({'0','200','400','600','800','1000'})
I do not know why I get the folowing error message
Index exceeds the number of array elements. Index must not exceed 6.
Thanks for your kind help in advance!
Babak

5 件のコメント

Dyuman Joshi
Dyuman Joshi 2023 年 11 月 24 日
Parameter dt is not defined in your code above.
Mohammad Shojaei Arani
Mohammad Shojaei Arani 2023 年 11 月 24 日
Sorry, it is 0.01
Dyuman Joshi
Dyuman Joshi 2023 年 11 月 24 日
What's the problem here?
Though I'm not sure why you have labeled x=1 as 0.
S=load('LandauData.mat');
data=S.data;
L=-2.;R=2.2;
dt = 0.01;
t=dt.*(0:length(data)-1);
[a,b] = bounds(t)
a = 0
b = 999.9900
plot(t,data,'-k');
hold on;
plot(t,0.*t+L,'--r');
plot(t,0.*t+R,'--r');
ylim([-10 11.7]);
xlabel('time');
ylabel('State, x');
title('Landau model');
yticks([-10 -6 -2 2 6 10]);
yticklabels([-10 -6 -2 2 6 10]);
xticks([1 200 400 600 800 1000]);
xticklabels({'0','200','400','600','800','1000'})
Mohammad Shojaei Arani
Mohammad Shojaei Arani 2023 年 11 月 24 日
So, you did not detect any problem.
But, I could fix it after pressing clear. I do not know, perhaps something was interfering with my code lines. But, now it
works.
Mohammad Shojaei Arani
Mohammad Shojaei Arani 2023 年 11 月 24 日
BTW, I cannot accept your answer here (I could not find any botton about it)

サインインしてコメントする。

 採用された回答

Chunru
Chunru 2023 年 11 月 24 日

0 投票

It works here without problem.
S=load(websave("LandauData.mat", "https://www.mathworks.com/matlabcentral/answers/uploaded_files/1551452/LandauData.mat"));
data=S.data;
L=-2.;R=2.2;
dt = 0.01;
t=dt.*(0:length(data)-1);
plot(t,data,'-k');
hold on;
plot(t,0.*t+L,'--r');
plot(t,0.*t+R,'--r');
ylim([-10 11.7]);
xlabel('time');
ylabel('State, x');
title('Landau model');
yticks([-10 -6 -2 2 6 10]);
yticklabels([-10 -6 -2 2 6 10]);
xticks([1 200 400 600 800 1000]);
xticklabels({'0','200','400','600','800','1000'})

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by