Baixe o app para aproveitar ainda mais
Prévia do material em texto
%Programa vai pedir a espessura "h" do reservatório %Programa vai pedir o volume de concreto disponível "v" para obra clear all; clc; h=input('Insira a espessura das paredes/fundo do reservatório (m):'); v=input('Qual o volume de concreto (m³) disponível no orçamento?'); syms x y z p; %Volume de água f=(x-2*h).*(y-2*h).*(z-h); %Restrição (Volume de Concreto Limitado) = v g=x.*y.*z-(x-2*h).*(y-2*h).*(z-h); %Derivadas parciais de f d1=diff(f,x); d2=diff(f,y); d3=diff(f,z); %Derivadas Parciais de g d4=diff(g,x); d5=diff(g,y); d6=diff(g,z); %vetor gradiente de f vetor1= [d1 d2 d3]; %Vetor gradiente de g vetor2= [d4 d5 d6]; %vetor gradiente de g multiplicado por constante vetor3= p.*vetor2; %Montar equações para sistema eq1= vetor1(1) - vetor3(1); eq2= vetor1(2) - vetor3(2); eq3= vetor1(3) - vetor3(3); eq4= x.*y.*z-(x-2*h).*(y-2*h).*(z-h) - v; %Resolução do sistema não-linear fprintf('Os valores das 3 dimensões e o Multiplicador de Lagrange, respectivamente são:') s0 = [1;1;1;1]; s = fsolve(@funcao,s0); volume= (s(1)-2*h).*(s(2)-2*h).*(s(3)-h); fprintf('-> O volume ótimo de água, para essa quantidade de concreto é %-5.2f m³ \n -> O lado X ótimo é %-5.2f m \n -> O lado Y ótimo é %-5.2f m \n -> A altura ótima Z é %-5.2f m \n -> E o multiplicador de Lagrange é %-5.2f ',volume,s(1),s(2),s(3),s(4))
Compartilhar