求matlab大神编程!!!急!!!!!!在线等!!!!

求matlab大神编程!!!急!!!!!!在线等!!!!,第1张

参考代码:

function dog_chase_rabbit

Vt = 3   % 野兔速度

V = 5    % 猎狗速度

X0 = [70 15 0 -60]           % 初始位置

psi2 = -atan2(X0(4), X0(3))     % 野兔逃跑方向

opt = odeset('reltol',1e-6,'abstol',1e-7,'Events',@events)

[t,X] = ode45(@chase, [0 100], X0,opt)

% 绘图

clf

hold on

plot(0,0,'go')

text(0,0,'Hole  ','Horiz','right','Vert','bottom','color','g')

plot(X0(1),X0(2),'r^')

text(X0(1),X0(2),'  Dog','Horiz','left','color','r')

plot(X0(3),X0(4),'b^')

text(X0(3),X0(4),'  Hare','Horiz','left','Vert','top','color','b')

plot(X(:,1),X(:,2),'r-',X(:,3),X(:,4),'b--')

plot(X(end,1),X(end,2),'rx')

ylim([-60 20])

axis equal off

plot(xlim,[0 0],':',[0 0],ylim,':','color',[1 1 1]*.7)

    % 微分方程

    function dX = chase(t, X)

        % X(1,2) - x1 y1

        x1 = X(1) y1 = X(2)

        x2 = X(3) y2 = X(4)

        Q = atan2(y2-y1, x2-x1)

        dX = [ ...

            V * cos(Q) V * sin(Q) ...

            Vt * cos(psi2) Vt * sin(psi2) ...

            ]

    end

    % 设置结束事件

    function [value,isterminal,direction] = events(t,X)

        % 距离小于0.001时结束仿真

        value = sqrt((X(3)-X(1))^2+(X(4)-X(2))^2) - 1e-3

        isterminal = 1

        direction = -1

    end

end

结果如图,红色是猎狗轨迹,蓝色是野兔轨迹,猎狗可在“x”处抓住野兔。

用 matlab现成的函数吧

list={'boy','dog','girl','sky','cold'}

cb = combntns(1:5,2)

for i=1:size(cb,1)

list(cb(i,:))

end

我们这学期刚学的凌阳61板,语音程序有A2000,S480,S2403种算法,我先给个A2000的,还需要的话发消息给我,一起学习啦!

#include "A2000.h"

#define SPEECH_1 0

#define DAC1 1

#define DAC2 2

#define Ramp_UpDn_Off 0

#define Ramp_UpDn_On 3

#define Manual 0

#define Auto 1

#define Full 1

#define Empty 2

#define Mode 1

//===============================================================================================

// 函数: main()

// 描述:主函数

//===============================================================================================

main()

{

extern long RES_WW_24K_SA,RES_WW_24K_EA //定义语音资源的首末地址标号

long int Addr //定义地址变量

int Ret = 0 //定义获取语音数据变量并初始化

if(Mode == 1) //采用自动方式播放

{

SACM_A2000_Initial(1)//自动方式播放初始化

SACM_A2000_Play(SPEECH_1,DAC1,Ramp_UpDn_On) //定义语音索引号、播放通道、允许音量增/减调节

while(1){

F_ClearWatchdog()

SACM_A2000_ServiceLoop()} //获取语音数据并将其填入解码队列

}

if(Mode == 0)//采用非自动方式播放

{

Addr=RES_WW_24K_SA//送入语音队列的首址

SACM_A2000_Initial(0) //非自动方式播放的初始化

SACM_A2000_InitDecoder(DAC1) //开始对A2000的语音数据以非自动方式解码

while(SACM_A2000_TestQueue()!=Full) //测试并获取语音队列的状态

{

Ret=SP_GetResource(Addr) //从资源文件里获取一个字型语音数据

SACM_A2000_FillQueue(Ret) //获取语音编码数据并填入语音队列等候解码

Addr++

}

while(1)

{

if(SACM_A2000_TestQueue()!=Full)

{

Ret =SP_GetResource(Addr)

SACM_A2000_FillQueue(Ret)

Addr++

}

if(Addr<RES_WW_24K_EA ) //如果该段语音未播完,即未到达末地址时

SACM_A2000_Decoder() //获取资源并进行解码,再通过中断服务子程序送入DAC通道播放

else

SACM_A2000_Stop() //否则,停止播放

F_ClearWatchdog()//清看门狗

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11814324.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存