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개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!