工程数学实验二
Posted psh888
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工程数学实验二相关的知识,希望对你有一定的参考价值。
clear all;
close all;
clc;
% 定义目标函数
f = @(x) 100*(x(1)^2 - x(2))^2 + (x(1) - 1)^2;
% 定义梯度函数
grad_f = @(x) [400*x(1)*(x(1)^2 - x(2)) + 2*(x(1) - 1); -200*(x(1)^2 - x(2))];
% 定义终止准则
epsilon = 1e-5;
% 定义最大迭代次数
max_iter = 1000;
% 定义初始点
initial_points = [0.8 0.8; -1.2 1.0; -0.2 -0.2; 1.2 1.2; 0.0 0.5];
% 遍历每个初始点
for i = 1:size(initial_points, 1)
x0 = initial_points(i, :)\'; % 初始点
x = x0;
iter = 0;
alpha = 0.01; % 步长
% 开始迭代
while norm(grad_f(x)) > epsilon && iter < max_iter
d = -grad_f(x); % 负梯度方向
x_new = x + alpha * d; % 更新点
if f(x_new) < f(x)
x = x_new;
else
alpha = alpha / 2; % 步长减半
end
iter = iter + 1;
end
% 输出结果
fprintf(\'初始点: [%f, %f]\\n\', x0(1), x0(2));
fprintf(\'迭代次数: %d\\n\', iter);
fprintf(\'最优解: [%f, %f]\\n\', x(1), x(2));
fprintf(\'最优函数值: %f\\n\', f(x));
fprintf(\'\\n\');
end
实验二:数据流图建模实验|软件工程
目录
详细描述
∙
\\bullet
∙病人住院前,先办理入院手续,如果病人有医疗卡,则表明其在系统中已经存有相关信息,继续为其分配床位、主治医生,并收取住院押金。如果病人没有医疗卡,则需要先建立病人档案,再进行上述操作。
∙
\\bullet
∙ 病人住院过程中,主治医师会每天查房,记录病情到病历中,并根据病人每日病情,开出医嘱或化验单。护士站根据该站所有病人的医嘱生成领药单,药房每天根据该领药单进行配药、送药,并记录药品分发情况。如果医嘱中涉及辅助治疗,由护士站负责执行,并记录治疗执行情况。病人凭医生出具的化验单进行各类化验检查,医生将化验结果记录到病人病历中。
∙
\\bullet
∙ 医院财务部门每天需统计病人当日的消费情况,并从总账中进行扣费,如果余额小于指定值,则通过主治医生向病人催缴。
∙
\\bullet
∙ 病人如果想出院,首先需要征得主治医生的同意,开具出院小结,凭该小结完成出院前的所有结算工作,病人相关的病历归档后才能出院。
建立分层的数据流图
顶 层 图 \\colorRED顶层图 顶层图
在顶层图中主要介绍了六个实体与最核心的医院住院管理系统之间的关系,如下图所示:
0
层
图
\\colorRED0层图
0层图
在0层图中,将医院住院管理系统继续向下划分为分配系统、病情管理、药品分配和账单计费四个部分,在病情管理和账单计费之间添加了医疗费用表,在药品分配与账单计费之间添加了药品费用表。
第
一
层
图
(
病
情
管
理
展
开
)
\\colorRED第一层图(病情管理展开)
第一层图(病情管理展开)
继续将病情管理进行展开我们可以得到每日查房、辅助治疗、化验管理以及计算医疗化验费用四个部分,其中我们新增了两个表,即在化验管理与计算医疗化验费用之间的化验费用表,在辅助治疗与计算医疗化验费用之间的辅助治疗费用表。
数据字典
数 据 项 条 目 \\colorVIOLET数据项条目 数据项条目
编号 | 名称 | 别名 | 简述 | 类型(长度) |
---|---|---|---|---|
IO1 | 病人名字 | pName | 病人的姓名 | char(32) |
IO2 | 病人id | pId | 病人进入医院分配的编号 | char(20) |
IO3 | 医生名字 | dName | 主治医生的姓名 | char(32) |
IO4 | 医生id | dID | 主治医生在医院中的编号 | char(20) |
IO5 | 病房号 | roomNo | 为入院病人分配的病房号 | int(3) |
IO6 | 病床号 | bedNo | 为入院病人分配的病床号 | int(2) |
IO7 | 病人化验项目 | pLabItems | 医生开的化验项目 | char(32) |
IO8 | 病人化验结果 | pLabResults | 相应化验项目对应的化验结果 | char(32) |
IO9 | 药方 | prescription | 为药房所开的药品 | char(32) |
IO10 | 治疗方案 | treatoptions | 病人的具体治疗方法 | char(32) |
IO11 | 辅助治疗消费 | treatConsumption | 病人每天的消费金额 | int |
IO12 | 发放药品记录 | recordDrugDistribution | 记录发放的药品 | char(32) |
IO13 | 化验消费 | labConsumption | 化验费用 | int |
IO14 | 药品消费 | drugConsumption | 买药消耗的金额 | int |
IO8 | 病人化验结果 | pLabResults | 相应化验项目对应的化验结果 | char(32) |
数 据 流 条 目 \\colorVIolEt数据流条目 数据流条目
编号 | 名称 | 别名 | 简述 | 组成 |
---|---|---|---|---|
LO1 | 病人信息 | pInfo | 包括病人的名字与入院ID | IO1+IO2 |
LO2 | 床号、主治医生信息 | basicInfo | 包括为病人分配的各项信息 | IO3+IO4+IO5+IO6 |
LO3 | 分配信息 | assignInfo | 包括病人相关信息 | IO1+IO2+IO5+IO6 |
LO4 | 化验单 | labTestSheets | 包括病人信息、医生信息以及化验项目 | IO2+IO4+IO5+IO6+IO7 |
LO5 | 化验结果 | labResults | 包括病人信息、医生信息以及化验结果 | IO2+IO4+IO5+IO6+IO8 |
LO6 | 医嘱 | medicalAdvice | 包括医生的治疗方案与病人的基本信息 | IO2+IO4+IO5+IO6+IO10 |
LO7 | 领药单 | medicalPrescription | 包括药方以及基本信息 | IO2+IO4+IO5+IO6+IO9 |
LO8 | 消费情况 | consumption | 包括病人基本信息与每日消费 | IO2+IO4+IO11+IO13+IO14 |
LO9 | 药品发放情况 | distributionOfMed | 包括病人基本信息与药品发放情况 | IO2+IO4+IO5+IO6+IO12 |
加 工 条 目 \\colorViolet加工条目 加工条目
编号 | 名称 | 别名 | 简述 | 加工号 | 加工逻辑 |
---|---|---|---|---|---|
PO1 | 每日查房 | dailyRounds | 病人的主治医生每天工作 | 1.2.1 | 主治医生每天进行该操作进行病情的记录 |
PO2 | 辅助治疗 | adjuvantTherapy | 由护士站执行辅助治疗 | 1.2.2 | 如果主治医生发出的医嘱中涉及辅助治疗,那么护士站则对病人进行该操作 |
PO3 | 化验管理 | labManage | 化验部门接收化验单并执行然后记录病人的化验结果 | 1.2.3 | 根据主治医生发出的化验单对病人进行对应的化验操作 |
PO4 | 计算医疗化验费用 | calCosts | 统计病人每日消费 | 1.2.4 | 记录病人的化验费用,如果有进行辅助治疗那么增加辅助治疗的费用 |
文 件 条 目 \\colorViolet文件条目 文件条目
编号 | 名称 | 别名 | 简述 | 组成 | 文件组织 |
---|---|---|---|---|---|
FO1 | 医疗化验费用 | medicalLabCosts | 辅助治疗与化验治疗的费用 | {IO2+IO11+IO13} | IO2升序 |
FO2 | 药品费用 | drugCosts | 消耗的药品费用之和 | {IO2+IO12} | IO2升序 |
外 部 实 体 \\colorViolet外部实体 外部实体
编号 | 名称 | 别名 | 简述 | 输入数据流 | 输出数据流 |
---|---|---|---|---|---|
EO1 | 病人 | patient | 入院住院看病 | LO2 | LO1 |
EO2 | 主治医生 | doctor | 每天查房帮助病人 | LO3 | LO4+LO6 |
EO3 | 化验部门 | labDepartment | 为病人进行化验检查 | LO4 | LO5 |
EO4 | 护士站 | nurse | 生成领药单以及为病人进行辅助治疗 | LO6 | LO7 |
EO5 | 财务部门 | fianceDepartment | 统计病人每日消费情况进行扣费 | LO8 | \\ |
EO6 | 药房 | pharmacy | 配药、送药以及记录药品发放情况 | LO7 | LO9 |
运行检验截图
总结
∙ \\bullet ∙根据前面所化的用例图以及类图可以帮助我们快速确定数据流图的顶层拥有哪些实体以及数据流。
∙ \\bullet ∙注意顶层中出现的数据流在我们接下来的下层的流图中对应的位置也需要出现,同时还可以再增加一些细节来继续完善该数据流图。
∙ \\bullet ∙越往下层数据项的流向越具体。
以上是关于工程数学实验二的主要内容,如果未能解决你的问题,请参考以下文章