Effacer les filtres
Effacer les filtres

Why I have the error message : Subscript indices must either be real positive integers or logicals.

1 vue (au cours des 30 derniers jours)
Hi, can someone explain me this realy weird stuff that hapend... Why on the first programe, line 5 (erf=erf(x)) is working, but not line 10 (erf5=erf(x5))
I also have a ''test program' where the same code is working...
Programe:
clear all
clc
x=linspace(0,2,50);
p7=2./sqrt(pi).*(x-(x.^3./3)+(x.^5./10)-(x.^7./42));
erf=erf(x);
figure(1)
plot (x,p7,'r',x,erf,'g')
legend('approximation','erf','location','northwest')
x5=[1/2 1/4 1/8 1/16 1/32];
erf5=erf(x5);
''test program'' :
clear all
clc
x=linspace(0,2,50);
erf1=erf(x);
x2=2;
erf2=erf(x2);
x3=[2 3];
erf3=erf(x3);
x4=[1 2 3 4 5 6 7 8 9];
erf4=erf(x4);
x5=[1/2 1/4 1/8 1/16 1/32];
erf5=erf(x5);

Réponse acceptée

Niels
Niels le 22 Jan 2017
its pretty simple. In your testprogramm you saved erf(x1) in erf1. in your programm you overwrite erf:
erf=erf(x)
so that erf is no longer a function (handle)
change that line to
erf1=erf(x)
% or
erf0=erf(x)
and your problem should be solved

Plus de réponses (1)

Image Analyst
Image Analyst le 22 Jan 2017

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by