MATLAB: I keep getting this error : Matrix dimensions must agree. Error in comp (line 5) c(x)=0.5.*​erfc(x./(2​*sqrt(u.*t​)));

for loopfunctionMATLAB

I'm trying to write a for loop that plots the function c(x) for each value of t, but I keep getting this error. " Matrix dimensions must agree. Error in comp (line 5) c(x)=0.5.*erfc(x./(2*sqrt(u.*t)));"
t = [1 24 48 72];
x=0:1;
for ii = length(t)
u=1.656e-5;
c(x)=0.5.*erfc(x./(2*sqrt(u.*t)));
plot c
end

Best Answer

x and t vectors must have same dimensions since you are performing an element-by-element multiplication. In your code, x = [0 1] and t = [1 24 48 72]. If what you need is an x vector that spans from 0 to 1 linearly, you can specify x = linspace(0,1,4);. In other words, just make sure t and x are of the same dimensions.