![]() |
MATLAB Unable to Store Symbolic Function with Multiple Variables
<p>I'm trying to take the definite integral from -1 to 1 of a function with respect to x. The function has variables a, b, c, d, and x, all of which I've defined as syms variables. I'm trying to keep a, b, c, d in my final integral because I'll later be differentiating with respect to each one for an optimization problem. Here's the current code that I have: </p>
<pre><code> syms f(x); syms a b c d; f(x)= (exp(x)-a*(1/sqrt(2))-b*(sqrt(3/2)*x)-c((sqrt(45/8))*(x^2-(1/3)))+d((sqrt(175/8))*((x^3)- (3/5)*(x))))^2; integral = int(f, x, [-1 1]); disp(integral); </code></pre> <p>Similar code worked when I tried it using only variables x and y for a smaller function. However, when I try this code, I get: </p> <pre><code> Error using sym/subsindex (line 825) Invalid indexing or function definition. Indexing must follow MATLAB indexing. Function arguments must be symbolic variables, and function body must be sym expression. Error in sym/subsref (line 870) R_tilde = builtin('subsref',L_tilde,Idx); Error in HW11 (line 4) f(x)= (exp(x)-a*(1/sqrt(2))-b*(sqrt(3/2)*x)-c((sqrt(45/8))*(x^2-(1/3)))+d((sqrt(175/8))*((x^3)-(3/5)*(x))))^2; </code></pre> <p>I'm pretty new to symbolic functions and syms variables in MATLAB, why is MATLAB rejecting this code? The similar code that I tried that worked was: </p> <pre><code> syms f(x); syms y; f(x) = (x^2) + y; integral = int(f, x, [0 3]); disp(integral); </code></pre> [url=https://stackoverflow.com/questions/59027013/matlab-unable-to-store-symbolic-function-with-multiple-variables]More answer...[/url] |
所有时间均为北京时间。现在的时间是 21:27。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.