matlab能求解二元一次三角函数方程吗?

真诚求问,请问这种二元一次三角函数方程有办法求解吗?
如下:

img


▲想要实现:假设令F点的坐标为已知点,如(20,-20),求α1,α2。
▲如果可以,可否读取excel表格里的一系列数据,求出一系列相应的α1,α2呢?然后再把这两个数读写在excel表格中。
目前初步设想是使用matlab,不知道如何实现,别的软件也可,只要能计算出来。

% 定义方程  
f = @(x) [x(1)^2 + x(2)^2]; % S型方程  
df = @(x) [(-2)*(x(2))'^2 + x(1)^2]; % 对称 S 型方程  
  
% 求解方程  
x = [0, 0]; % 初始点  
y = solve(f, df, x); % 求解方程  
  
% 输出结果  
disp(['方程的解为:', num2str(y)]);


  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7447685
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:4、在matlab中如何绘制隐函数的图形(完整代码)
  • 除此之外, 这篇博客: 数字信号处理--基于MATLAB的小波去噪算法--小波变换在信号降噪和压缩中的应用中的 [例2]在电网电压值监测过程中,由于监测设备出现了一点故障,致使所采集到的信号受到噪声的污染。现在利用小波分析对污染信号进行消噪处理以恢复原始信号。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • %% 分别使用3中阈值来消噪,并分析其适用场合:默认阈值消噪、给定阈值消噪、强制消噪
    % 零、信号加载与处理(分解、系数提取、重构)
    % 1、装载采集的信号leleccum.mat
    load leleccum;
    % 将信号中第2000到第3450个采样点赋给s
    indx=2000:3450;
    s=leleccum(indx);
    % 2、画出原始信号
    subplot(2,2,1);
    plot(s);
    title('原始含噪信号');
    xlabel('样本序号n');
    ylabel('幅值A');
    
    % 3、对原始信号进行分解
    % 用db1小波对原始信号进行3层分解并提取系数
    [c,l]=wavedec(s,3,'db1');   %这里c的长度为1453,比s(1451)多,l的长度为5
    
    % function [c,l] = wavedec(x,n,IN3,IN4):多层一维小波分解。
    % WAVEDEC 使用一个特定的小波“wname”或一组特定的小波分解滤波器进行多层一维小波分析。
    % [C,L] = WAVEDEC(X,N,'wname') 使用'wname'返回信号X在N级的小波分解。
    % 输出分解结构包含小波 the wavelet decomposition vector C和 the bookkeeping vector L
    % N 必须是一个严格的正整数。
    
    % 4、对[c,l]提取近似系数
    a3=appcoef(c,l,'db1',3);
    % APPCOEF: 提取一维小波变换近似系数。
    % A = APPCOEF(C,L,'wname',N) 使用小波分解结构计算N级的近似系数[C,L]
    % Level N must be an integer such that 0 <= N <= length(L)-2. 
    % A = APPCOEF(C,L,'wname') extracts(提取) the approximation coefficients(近似系数) at the last level length(L)-2.
    
    % 5、对[c,l]提取细节系数
    % 5.1、提取3级细节系数
    d3=detcoef(c,l,3);
    %  DETCOEF提取一维细节系数。
    %  D = DETCOEF(C,L,N)从小波分解结构[C,L]中提取出N级的细节系数(the detail coefficients)。
    %  Level N must be an integer such that 1 <= N <= NMAX where NMAX = length(L)-2.
    %  D = DETCOEF(C,L)提取最后一级NMAX的细节系数。
    %  If N is a vector of integers such that 1 <= N(j) <= NMAX:
    
    % 5.2、提取2级细节系数
    d2=detcoef(c,l,2);
    % 5.3、提取1级细节系数
    d1=detcoef(c,l,1);
    
    % 一、强制消噪
    %对信号进行强制性消噪处理并图示结果
    dd3=zeros(1,length(d3)); % length(d3) = 182,这句话执行完,生成了182个0
    dd2=zeros(1,length(d2)); % length(d2) = 363
    dd1=zeros(1,length(dl)); % length(dl) = 726
    % 将近似系数a3与其他细节系数(均为0)合并, length(a3) = 182, length(cl) = length(c) = 1453
    c1=[a3 dd3 dd2 dd1]; % 由于dd3 dd2 dd1 均为0,那么c1有用信息仅来自使用db1进行的3级分解的近似系数a3
    s1=waverec(c1,l,'db1');% 用c1来重构c,命名为s1(重构后的信号s1,与原信号c对应)
    
    % WAVEREC:多层一维小波重建。与WAVEDEC相对应
    % WAVEREC使用特定的小波('wname',参见WFILTERS)或特定的重建滤波器(Lo_R和Hi_R)来执行多层一维小波重构。
    % X = WAVEREC(C,L,'wname')根据多级小波分解结构对信号X进行重构
    
    subplot(2,2,2);
    plot(s1);
    title('强制消噪后的信号');
    xlabel('样本序号n');
    ylabel('幅值A');
    
    
    % 二、用默认阈值对信号进行消噪处理并图示结果
    % 1、用ddencmp函数获得信号的默认阈值
    [thr,sorh,keepapp]=ddencmp('den','wv',s); 
    %使用ddencmp函数的去噪功能对原始信号s进行小波分解,并得到阈值thr,阈值方式,是否允许近似保持系数
    
    %  DDENCMP:去噪或压缩的默认值
    %  [THR,SORH,KEEPAPP,CRIT] = DDENCMP(IN1,IN2,X):返回输入向量或矩阵X的默认去噪或压缩值,使用小波或小波包,可以是一维或二维信号。其中:
    %  THR是阈值,SORH是函数(自动)选择的阈值方式:软阈值(SORH = s)或硬阈值(SORH = h),KEEPAPP允许保持近似系数(0、1),CRIT(仅用于小波包)是熵名(参见WENTROPY)。
    %  IN1是den(去噪)或者cmp(压缩)
    %  IN2是wv(小波分解)或者wp(小波包分解)。
     
    s2=wdencmp('gbl',c,l,'db1',3,thr,sorh,keepapp);%利用ddencmp得到的阈值、阈值方式、近似保持系数对小波分解后的信号c进行去噪
    
    % WDENCMP使用小波对信号或图像进行去噪或压缩处理。
    % [XC,CXC,LXC,PERF0,PERFL2] = WDENCMP('gbl',X,'wname',N,THR,SORH,KEEPAPP)返回输入信号X 的去噪或压缩版本的XC,使用全局正阈值THR进行小波系数阈值化。
    %  附加输出参数[CXC,LXC]是XC的小波分解结构,
    % PERFL2和PERF0是以百分比表示的L^2恢复和压缩分数。
    % PERFL2 = 100*(CXC的向量范数/ C的向量范数)^2其中[C,L]为X的小波分解结构。
    % 小波分解在第N层执行,'wname'是一个包含小波名称的字符串。
    % SORH ('s'或'h')用于软阈值或硬阈值(有关详细信息,请参阅WTHRESH)。
    % 如果KEEPAPP = 1,逼近系数不能设置阈值,否则是可能的。
    
    
    subplot(2,2,3);
    plot(s2);
    title('默认阈值消噪后的信号');
    xlabel('样本序号n');
    ylabel('幅值A');
    
    
    % 三、用给定的软阈值进行消噪处理 
    softd1=wthresh(d1,'s',1.465);% 对d1进行软阈值
    % WTHRESH执行软或硬阈值。
    % Y = WTHRESH(X,SORH,T)返回输入向量或矩阵X的软(如果SORH = 's')或硬(如果SORH = 'h') 阈值。T是阈值。
    % Y = WTHRESH(X,'s',T) returns Y = SIGN(X).(|X|-T)+, soft  thresholding is shrinkage.
    % Y = WTHRESH(X,'h',T) returns Y = X.1_(|X|>T), hard  thresholding is cruder.
    softd2=wthresh(d2,'s',1.823); % 对d2进行软阈值
    softd3=wthresh(d3,'s',2.768);% 对d3进行软阈值
    
    % softdl softd2 softd3为执行阈值处理后的细节系数
    c2=[a3 softd3 softd2 softd1];% 将近似系数与(经过阈值处理后的)细节系数合并
    s3=waverec(c2,l,'db1'); % 使用c2和级数l来重构s3
    subplot(2,2,4);
    plot(s3);
    title('给定软阈值消噪后的信号');
    xlabel('样本序号n');
    ylabel('幅值A');
    

     

    在本例程中,分别利用前面所提到的了3种消噪方法进行处理。

    图得到的结果来看应用强制消噪处理后的信号较为光滑,但是它很有可能丢了信号中的一些有用成分默认阈值消噪的效果较好,保留了有用信号的高频成分,同时对微小扰动去噪效果明显;给定软阈值消噪需要有一定的经验或者需要多次试验也可作为备选。

  • 您还可以看一下 硬核野生技术咨询客服小李老师的matlab数学建模课程中的 求微分方程组通解特解数值解和求一元二元函数最小值和零点小节, 巩固相关知识点