matlab中怎样找某一函数值对应的自变量?

来源:百度知道 编辑:UC知道 时间:2024/05/12 00:38:56
比如一函数y=cos(x),在第一周期中,当y=0.8时对应的x为多少。
有内置的函数可以实现么?不要告诉我先求反函数

由于x,和y的长度是相同的,找到对应给定值的y向量中的元素,如y向量中的第五个元素对应于0.8.那么在向量x中也必定是第五个元素对应于y,因为x,y的关系是一一对应的,那么:x(5),就必定是你要找的x值。
例如
fs=3200;
x=0:1/fs:0.32-1/fs;
y=cos(2*pi*50*x);
>> c=find(y==-1)

c =

33 97 161 225 289 353 417 481 545 609 673 737 801 865 929 993

>>
那么对应的x值就是
>> x(c)

ans =

Columns 1 through 10

0.0100 0.0300 0.0500 0.0700 0.0900 0.1100 0.1300 0.1500 0.1700 0.1900

Columns 11 through 16

0.2100 0.2300 0.2500 0.2700 0.2900 0.3100

>>

y是一个矩阵的话,用
[i,j]=find(y==0.8),i和j中的一个就是你需要的x数列中对应的位置,在找x(i)或x(j)就可以了

clear all;clc;
x=-pi/2:pi/50:pi;
y=sin(x);
plot(x,y);
grid on;
fm=max(y)
id=find(y==fm);
xm=x(id)
例如
fs=3200;
x=0:1/fs:0.32-1/fs;
y=cos(2*pi*50*x);
>> c=find(y==-1)
<