Finite difference method for second order ode
2 次查看(过去 30 天)
显示 更早的评论
Hi. I am trying to solve nonlinear equation using fsolve and repeat graph bet four times with different value. Here is my code:
Function main n = 10 r0 = ones(n, 1) For bet = 0.1:0.1:0.4 Sol = solve(@(r)fun(r, n), r0) norm(fun(sol, n)) end r = ((1:n)-1)/(n-1) Plot(r, sol(0.4,:),'g-*',sol(0.3,:),'m-*',sol(0.2,:),'b-*',sol(0.1,:),'r-*') end
3 个评论
Jan
2021-5-16
I've mentioned it already: Your code would not run at all, but stop due to the uppercase "Function" immediately.
Please post code in a readable format with one command per line.
采纳的回答
Jan
2021-5-16
编辑:Jan
2021-5-16
Matlab is case sensitive. There are no "Function", "For" and "Plot" commands. You should ge corresponding error messages.
I try t guess, how your code should be formatted:
function main
n = 10;
r0 = ones(n, 1);
for bet = 0.1:0.1:0.4
sol = solve(@(r) fun(r, n), r0);
norm(fun(sol, n))
end
r = ((1:n)-1) / (n-1);
plot(r, sol(0.4,:), 'g-*', sol(0.3,:), ...
'm-*', sol(0.2,:), 'b-*',sol(0.1,:), 'r-*');
end
end
There is an unmatched end. The loop over "bet" is useless, because the results are overwritten. It is not clear to me, what you want to achieve, so I cannot fix further errors.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Configure Simulation Conditions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!