Avrei un problema su come usare fzero. In pratica devo fare la sottrazione tra due funzioni al cui interno compare il parametro che devo trovare con fzero.
function T = risult_acc_prova (y, h, As, fyd);
% definizione della risultante dell'acciaio
epss = 3.5/1000*(h-y)/y;
if epss >= 0 && epss <= fyd/210000;
sigmas = E*epss;
else fyd/210000 < epss && epss <= 0.9*7.5/1000;
sigmas = fyd;
endif
T = As*sigmas;
endfunction
function C = risult_cls_prova (fck, y, b, s);
% determinazione della risultante di compressione del cls.
% Ipotesi: cls teso non reagente, conservazione delle sezioni piane
% s = numero di strisce in cui si divide la sezione
dx = y/s;
C = zeros(1,10);
j = 1;
if modello == 1;
for i=1:s;
x = dx*(2*i-1)/2;
epsc = 3.5/1000* (y-x)/y; % prendo la fibra centrale della striscia dx
if 0 <= epsc && epsc <= 0.002;
sigmac = fcd*(1-(1-epsc/0.002)^2);
else
sigmac = fcd;
endif
C(j) = b*dx*sigmac;
j=j+1;
endfor
C = sum(C);
endfunction
Quindi facendo
fun = @(y) risult_cls_prova (25, y, 100)-risult_acc_prova (y, 460, 800, 450/1.15);
y = fzero (@fun, 0, 100)
dovrei ottenere un valore circa 70, solo che ottengo un errore " Invalid call to optimget".
Come posso risolvere?
Grazie