How can I fix this error?

2 views (last 30 days)
Wenchen Liu
Wenchen Liu on 5 Dec 2022
Commented: Torsten on 5 Dec 2022
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?

Answers (1)

David Hill
David Hill on 5 Dec 2022
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 Comments
Wenchen Liu
Wenchen Liu on 5 Dec 2022
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 on 5 Dec 2022
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)

Sign in to comment.

Categories

Find more on Special Functions in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!