Merhabalar,
Elimde iki bilinmeyeni olan bir denklem var, bilinmeyenleri x ve y.
x'in belli oranda artmasıyla elde edilen y sonuçlarını bulmak istiyorum. Bunun için for döngüsü kullanmaya çalışıyorum ancak 1 haftadır işin içinden çıkamadım.
sin(x*y)+ cos(x*y)-sinh(x*y)+cosh(x*y)+(cos(y)*sinh(y))=0
denkleminin x=0.30'dan 1'e kadar 0.1 oranında artarken ki "y" değerlerini bulmak istiyorum. Bu konuda yol gösterebilecek birileri varsa şimdiden teşekkür ederim hocam.
6 Cevap
En iyi cevap
clear;
clc;
syms y
xler=0.3:0.1:1 %denenecek x'leri barindiran array
for indis = 1:1:numel(xler) %xler'in eleman sayisi kadar donecek for dongusu
x=xler(indis); %sirayla x degerlerini alip denkleme yerlestiriyor
denklem=sin(x*y)+ cos(x*y)-sinh(x*y)+cosh(x*y)+(cos(y)*sinh(y))==0;
cevap(indis)=vpasolve(denklem,y);
end
%cevap'in her elemaninda sirasiyla x'in elemanlarina denk gelen cozumler
%var.
%hepsi
cevap
%sadece ikinci eleman
cevap(2)
%x degerini belirterek sonucu goruntuleme
cevap(xler==0.5)
Evet hocam o şekilde değer bulabiliyorum ancak iki bilinmeyenli halini 'for' döngüsüne yediremiyorum.
clear;
clc;
clear all;
syms x y
x=0.60;
denklem=sin(x*y)+ cos(x*y)-sinh(x*y)+cosh(x*y)+(cos(y)*sinh(y))==0;
cevap=vpasolve(denklem,y)
şeklinde bulduruyorum