How can I fix this error?

3 次查看(过去 30 天)
Wenchen Liu
Wenchen Liu 2022-12-5
评论: Torsten 2022-12-5
I had a code like this:
clear all, close all
f = @(x)(4/(1+x^2));
a = 0;
b = 1;
F = @(x)(-8x/((1+x^2)^2)); % antiderivative of f
ref = F(b) - F(a);
n = 2;
x = linspace(a,b,n+1);
h = (b-a)/n;
then in the command part, it shows:
File: assignment3_question2b.m Line: 7 Column: 12
Invalid expression. Check for missing multiplication operator, missing or unbalanced
delimiters, or other syntax error. To construct matrices, use brackets instead of parentheses.
How can i fix this?

回答(1 个)

David Hill
David Hill 2022-12-5
f = @(x)4./(1+x.^2)
f = function_handle with value:
@(x)4./(1+x.^2)
a = 0;
b = 1;
F = @(x)-8*x./(1+x.^2).^2 % antiderivative of f
F = function_handle with value:
@(x)-8*x./(1+x.^2).^2
ref = F(b) - F(a);
n = 2;
x = linspace(a,b,n+1);
h = (b-a)/n;
  2 个评论
Wenchen Liu
Wenchen Liu 2022-12-5
clear all, close all
f = @(x)4./(1+x.^2);
a = 0;
b = 1;
F = @(x)-8*x.(1+x.^2).^2; % antiderivative of f
ref = F(b) - F(a);
n = 2;
x = linspace(a,b,n+1);
h = (b-a)/n;
i have fixed the questions, but in the command it still shows:
Argument to dynamic structure reference must evaluate to a valid field name.
Error in assignment3_question2b (line 7)
F = @(x)-8*x.(1+x.^2).^2 % antiderivative of f
Error in assignment3_question2b (line 8)
ref = F(b) - F(a);
Torsten
Torsten 2022-12-5
F = @(x)-8*x.*(1+x.^2).^2; % antiderivative of f
instead of
F = @(x)-8*x.(1+x.^2).^2; % antiderivative of f
But the antiderivative of f is of course
F = @(x) 4*atan(x)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by