Programación en Matlab de cálculo numérico universitario: utilice la fórmula trapezoidal compleja para integrar y lograr una precisión de 0,5*10^-8 y proporcione el número requerido de intervalos. ¿Qué pasa con el programa?
No usaste la función de palabra clave al llamar a la función personalizada. Esto es incorrecto. Si eliminas la función de palabra clave, el mensaje de error no aparecerá.
Pero mira tu código. , todavía existe una pregunta:
f=int(fun, a, b) Esta línea requiere que fun sea una variable simbólica y la diversión que le diste =@(x)(x./); sqrt (x.* x 9)); es un identificador de función, entonces esta línea informará un error.
Además, este código intenta obtener un valor exacto integrando usando int() y luego comparando las integrales numéricas para ver si el error de la integral numérica no excede 0.5*10^-8, lo cual es un error lógico; si la función producto no es integrable (que es el propósito original de la integración numérica), entonces no hay forma de hacer que la función original tome una decisión. Por lo tanto, el método correcto es comparar los dos valores calculados. Si el error entre los dos valores calculados es menor que 0,5 * 10 ^ -8, significa que la integración ha convergido, que es su precisión de cálculo.