1、变量操作 计算分数。M1) .2load.351570Na4) 28gradesendsiz(meAncaluteGrdsmclsGrdem新 建 一 个 脚 本 , 命 名 为数 据查 看 载 入 的 数 据 , 输 入 前 行 到 命 令 行 。 第 一 列 表 示 学 号 ,其 余 列 表 示 次 题 目 的 分 数 ( 分 ) , 有 一 些 为 , 表 示该 同 学 缺 席 或 者 没 交 作 业 , 我 希 望 你 们 当 中 没 有我 们 只 关 心 成 绩 , 提 取 载 入 数 据 中 的 分 数 ( 列 ) , 赋 给变 量 , 需 要 注 意 的 是 , 请 使 用 或
2、者 dGrs,2)5) 17mn NaNanemeanGrds670B53.5这 样 我 们 的 代 码 适 用 于 任 意 维 度 的 矩 阵计 算 所 有 人 每 次 成 绩 的 平 均 成 绩 , 结 果 应 为 的 向 量 , 使 用函 数 , 结 果 显 示 在 命 令 行 , 我 们 发 现 含 有 值 的 那 一 列得 到 结 果 也 为 , 为 了 避 免 这 个 问 题 , 使 用 函 数 重 新计 算 。 将 这 个 结 果 赋 给 变 量 , 并 显 示 在 命 令 行 查 看以 确 保 当 中 没 有 值 。) 设 定 百 分 制 分 可 以 评 为 等 级 , 那 么
3、 分 制 的 话 , 就 是 分可 以 评 定 BmeanMtrixgradesGrdsptbcuvrdes=3.5rs/mnMtrixanaG3.5为 。.建 立 变 量 , 维 度 跟 相 同 , 其 中 每 行 的 值 分 别 是中 不 同 列 的 值 , 使 用 来 建 立 。 输 出 到 命 令 行 来 检查 是 否 正 确.按 照 公 式 ( ) 计 算 标 准 化 后 的成 绩 , 记 在 变 量 中 , 记 得 要 使 用.使 用 计 算 的 平 均 值 查 看 是 否 都 是d因 5fid557)curveasnaetolrd15il ltrsFDCBAtoalGrd为 我
4、们 的 计 算 方 法 , 有 可 能 一 些 分 数 接 近 分 , 那 么 计 算 的 结 果 将大 于 , 采 用 函 数 , 将 大 于 的 结 果 置 为按 列 计 算 的 平 均 结 果 , 使 用 , 注 意 维 度 , 得 到 每 个同 学 次 作 业 的 平 均 成 绩 , 记 为 。 此 外 , 我 们 希 望 结 果 为 的正 数 , 因 此 记 得 使 用 。 接 下 来 生 命 一 个 变 量 , 其 值 为 。 按照 中 的 值 分 别 对 应 等 级 评 定 , 给 出swich1F5dispesltrGades每 位 同 学 的 最 终 等 级 评 定 结 果
5、。使 用 函 数 , 例 如 成 绩 为 的 , 则 评 为 , 成 绩 为 则 为 。 最 后 使 用函 数 , 输 出 : load(classGrades.mat)namesAndGrades(1:5,:)grades=namesAndGrades(:,2:end);mean(grades)meanGrades=nanmean(grades)meanMatrix=repmat(meanGrades,size(grades,1),1)curvedGrades=3.5*(grades./meanMatrix);nanmean(curvedGrades);curvedGrades(find(c
6、urvedGrades5)=5;totalGrade=nanmean(curvedGrades,2);totalGrade=ceil(totalGrade)letters=FDCBA;for k=1:length(totalGrade)switch totalGrade(k)case 1Grades(k)=letters(1);case 2Grades(k)=letters(2);case 3Grades(k)=letters(3);case 4Grades(k)=letters(4);case 5Grades(k)=letters(5);endenddisp(Grades: ,Grades)
7、;抛球模型定义常量:球的初始高度 h=1.5m;重力加速度 g=9.8m/s2;初始球速为 v=4m/s;初始抛球的角度为 =45 度。生成时间向量,01 之间,1000 个点线性分布,使用 linspace。我们已知抛球的物理模型:假定 x 为距离,y 为高度,则根据高中物理所学水平位移为,垂直位移为 ,利用该公式计算 x 和()cos()80xtvt 21()sin()80thvtgy。计算何时小球撞倒地面,使用 find 找到高度变负的地方,那么水平距离就是那时间点的 x值,使用 disp 输出结果:小球在 x 米处撞倒地面。使用 figure 打开绘图窗口,绘制 y 和 x 的对应曲线
8、,xlabel,ylabel 和 title,hold on figure,绘制地面位置,使用黑色,虚线。这应该是一个水平曲线,运行代码查看结果。figure(2);h=1.5;g=9.8;v=4;a=45;t=linspace(0,1,1000);x_t=v*cos(a*pi/180)*t;plot(t,x_t,r);hold on;t=linspace(0,1,1000);y_t=h+v*sin(a*pi/180)*t-1/2*g*t.2;plot(t,y_t);t0=min(find(y_tlength(x)-2 时会出问题。我想这几个边缘的点我们可以考虑保持原数据不动。A 注意经过平滑
9、后得到的数据与原数据点数应相同;B 为左右平均时对称,我们在输入参数 width 时应选择奇数;C 确保边缘的情况不会出问题;D 提示使用循环和 mean 函数进行平滑运算,如果你对卷积很熟悉那么也可以使用 conv函数进行卷积运算;E 函数写完后,载入 noisyData.mat 数据进行测试,如果载入数据失败,那么使用 xlsread函数读取 noisyData.xls 数据也是一样的。我使用width为11,function smoothed=rectFilt(x,width)if(mod(width,2)=0)widthend;smoothed=conv(x,1/width*ones(
10、width,1),same);endx=xlsread(noisyData.xls);width=11;smoothed=rectFilt(x,width);figure; plot(x,r-); hold on; plot(smoothed)你需要先写一个 ODE 方程去描述神经脉冲。方程的描述方式我们参考了 Hodgkin 和Huxley1952 年提出的模型。他们也因此获得了 Noble 奖。这个模型的思路是,神经膜有对电压敏感的闸门,随着膜电压的改变,这个闸门会打开或者关闭以形成离子通道。一旦闸门打开,离子就可以在他们之间流动从而影响膜电压。这个模型是非线性的,我们只能使用数值的方法求
11、解。这个题目稍复杂,耐心按照下面一步步进行:A 首先下载 HH.zip 压缩包,解压后发现里面有 6 个 m 文件,分别是alphah.m,alpham.m,alphan.m,betan.m,betam.m 和 betah.m。这些方程用来描述了闸门开转台 alpha(V)和闭状态 beta(V)与电压的关系。h,m,n 是三个闸门。B 接下来按照下面的式子写 ODE 方程。43/(1)()/()()()nnmhhkkNaNaLdnthtVGVEVEGC其中 C 是膜电容,G 是电导系数,E 是 K,Na ,L 通道的逆转电位。令,13620.7549.kNaLkNaLE有了这些常量以及上述微
12、分方程,我们就可以写 ODE 方程了。C 编写一个脚本叫 HH.m,我们使用 ode45 函数来求解微分方程,并且画出膜电压曲线。首先我们定义时间尺度为 0-20ms,我们的方程单位其实就是 ms,初始状态为n=0.5;m=0.5,h=0.5;V=-60。计算结果应该为一个 214 的矩阵,其中每一列就是对应我们解出的 n(t) ,m(t) ,h(t ) ,和 V(t ) 。我们这里绘制 V(t)曲线,查看电压变化变至平稳的状态。参考图如下:function dy = ODE(t,y)C=1;G_k=36;G_Na=120;G_L=0.3;E_k=-72;E_Na=55;E_L=-49.4;n
13、=y(1);m=y(2);h=y(3);V=y(4);dy=zeros(4,1);dy(1)=(1-n)*alphan(V)-n*betan(V);dy(2)=(1-m)*alpham(V)-m*betam(V);dy(3)=(1-h)*alphah(V)-h*betah(V);dy(4)=-(1/C)*(G_k*n4*(V-E_k)+G_Na*m3*h*(V-E_Na)+G_L*(V-E_L);clear allfigure(1);t,y=ode45(ODE,0 20,0.5 0.5 0.5 -60);n=y(:,1);m=y(:,2);h=y(:,3);V=y(:,4);plot(t,V)
14、;xlabel(Time(ms);ylabel(Transmembrane(mV);title(Approaching Steady State);figure(2);for i=1:10t,y=ode45(ODE,0 20,n(end) m(end) h(end) V(end)+i);n=y(:,1);m=y(:,2);h=y(:,3);V=y(:,4);if(max(V)0)plot(t,V,r,linewidth,2);hold on;else plot(t,V,k,linewidth,2);hold on;endendxlabel(Time(ms);ylabel(Transmembrane(mV);title(Approaching Steady State);hold off;