Logo Hardware.com.br
majuioshiura
majuioshiura Novo Membro Registrado
1 Mensagem 0 Curtidas

Matlab: erro na plotagem do gráfico

#1 Por majuioshiura 10/11/2015 - 16:31
Bom dia,
Eu tou cursando Cálculo Numérico esse semestre e tenho um trabalho aqui que tou apanhando para terminar. O trabalho tem 4 partes: uma interpolação, ajuste polinomial com coeficiente linear, ajuste não-polinomial e, no final, plotar todas as curvas obtidas no mesmo gráfico.

Fiz tudo certinho, separado, um programa para cada curva, tudo funcionando certinho e plotando ok. No entanto quando junto os 3 programas principais em um só, os cálculos de desvio médio quadrático dão certo, mas na hora de plotar aparece esse erro:

error: __plt2vv__: vector lengths must match
error: called from
__plt__>__plt2vv__ at line 487 column 5
__plt__>__plt2__ at line 246 column 14
__plt__ at line 113 column 17
plot at line 220 column 10
main at line 72 column 1


Alguém sabe me dizer como faço para evitar isso e plotar as 3 curvas no mesmo gráfico?

Obrigada!!

OBS.: Esse é o main.m que eu fiz (não sei se precisa postar aqui funções que eu uso junto para resolver o problema, me avisem dai)

clear
clc
format long
%Dados de entrada gerais
m=21;
T=[0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0];
V=[1.0 0.91 0.84 0.79 0.76 0.75 0.76 0.79 0.84 0.91 1.00 1.11 1.24 1.39 1.56 1.75 1.96 2.19 2.35 2.71 3.00];

disp('QUESTAO B')
%Questão B: Interpolação
%Dados de entrada
A=0; %menor T (A e B servem para definir um intervalo, para otimizar o processo
B=2; %maior T
n=20;
%Para definir a matriz com os valores do polinômio:
for i=1:n+1;
M(i,n+2)=V(i);
M(i,n+1)=1;
M(i,n)=T(i);
for j=n-1:-1:1;
M(i,j)=M(i,j+1)*T(i);
end
end
M;
%Para obter os coeficientes a( ), manda-se resolver o sistema linear pelo método de Gauss
a=fGauss(n+1, M);
a'
%Dados de plotagem. Definindo o número de intervalos a serem plotados. A partir disso, define-se a T para cada V.
nplot=10*n; %n de plotagem (quanto mais pontos, melhor ficará o gráfico)
hplot = (B-A)/nplot; %intervalo entre cada plotagem
Tplot=A:hplot:B;
for i=1:nplot+1;
Vplot(i)=fbriotruffini(n,a,Tplot(i));
end
%Plotagem
plot(T,V, '*r', Tplot, Vplot)
%Cálculo do desvio médio quadratico B
soma=0;
for k=1:m
soma=soma+(fbriotruffini(n,a, T(k))-V(k))^2;
end
DesvioQuadraticoMedioB=soma/m

disp('QUESTAO C')
%Questão C: Ajuste Polinomial com Coeficientes Lineares
%Dados de entrada
n=2; %Grau do polinomio ajustador
a=fcoefPn(n,m,T,V)
%Dados de Plotagem
nplot=10*m;
Tplot=T(1)frown.pngT(m)-T(1))/nplot:T(m);
for k=1:nplot+1
Vplot(k)=fbriotruffini(n,a,Tplot(k));
end
DesvioMedioQuadraticoC=fdesvioMQ(n,a,m,T,V)
plot(T,V,'*b',Tplot,Vplot)

disp('QUESTAO D')
%Questão D: Ajuste Não-Polinomial
%Dados de entrada
n=20;
ai=[1 1 1] %Valores iniciais e definição dos coeficientes pelo método de Newton-Raphson
a=fnewton3(ai)
%Dados de Plotagem
nplot=10*n;
h=(T(m)-T(1))/nplot;
Tplot=T(1):h:T(m);
for i=1:nplot+1;
Vplot(i)=funcaoV(a,Tplot(i));
end
%Plotando
plot(T,V,'*y',Tplot,Vplot)
%Cálculo do Desvio Médio Quadrático
soma=0;
for k=1:m;
soma=soma + (funcaoV(a,T(k))-V(k))^2;
end
DesvioQuadraticoMedioD=soma/m
© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal