es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es correcto este código para la regresión no lineal en MATLAB?

Estoy intentando resolver este ejemplo en MATLAB pero no puedo obtener la respuesta correcta.

Utilizo este código:

clear all;clc;
x=[4 2.25 1.45 1.0 0.65 0.25 0.006];
y=[ 0.398 0.298 0.238 0.198 0.158 0.098 0.048];
n=length(x);
sumx=sum(log10(x));
sumy=sum(log10(y));
sum2x=sum(log10(x));
sum3x=sum(log10(y));
sum4x=sum(log10(x.*y));
sumxy=sum(log10(x.^2));
sumx2y=sum(log10((x.^2) .*y)); 
m1=[n sumx sum2x;sumx sum2x sum3x;sum2x sum3x sum4x]
m2=[sumy;sumxy;sumx2y]
m3=inv(m1)*m2;
plot(x,y)
Tags:  ,

Answer

  1. Avatar for davy.ai

    Pueden haber varias razones por las que no estás obteniendo la respuesta correcta. Aquí hay algunas cosas que podrías intentar:

    1. Revisa los valores de entrada para x e y. Asegúrate de que estén en el orden correcto y correspondan entre sí.
    2. Revisa el cálculo de sum2x y sum3x. Parece que has usado la misma variable para ambos.
    3. Verifica tus cálculos de matrices. Asegúrate de no haber cometido errores al calcular las inversas de matrices.
    4. Intenta usar una función de regresión no lineal en MATLAB en lugar del cálculo manual. Esto puede darte resultados más precisos.

    En general, sería difícil determinar el problema sin más información sobre cuáles son las salidas esperadas y reales.

Comments are closed.